Thanks Matt,<div><br></div><div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">One of the common complaints about subrepos is<br>
that it&#39;s not obvious when a subrepo is modified so commit&#39;s recursive<br>
behavior bites people. So it&#39;s not clear that:<br>
<br>
M foo<br>
M sub/bar<br>
<br>
really gives people enough notice that it&#39;s a subrepo that&#39;s changed.<br>
But then:<br>
<br>
M foo<br>
M subrepo/<br>
<br>
is just weird, so maybe your way is right after all. Opinions?<br></blockquote><div><br></div><div>I think perhaps it would make sense to introduce some sort of convention for this, I don&#39;t think the current forms are expressive enough. Something similar to one of these perhaps:</div>
<div><br></div><div>M foo</div><div>M (sub)/bar</div><div>M baz/(sub2)/qux</div><div><br></div><div>A little arcane, so maybe:</div><div><br></div><div>M foo</div><div>S sub M bar</div><div>S baz/sub2 M qux</div><div><br>
</div><div>That maybe makes more sense because the sub or baz/sub2 entries in .hgsubstate will be changed, as well as the bar/qux files being modified in their respective repos. Spaces become a problem so maybe some sort of delimiter is necessary.</div>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<br>
Is there a reason not to have a -S flag?<br></blockquote><div><br></div><div>Not a good one ;) I&#39;ll add it. </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div class="im"><br>
</div>That&#39;s a little hard to read. Perhaps something like<br>
<br>
for sub in subrepos:<br>
    substat = ctx2.sub(sub).status()<br>
    for i, l in enumerate(substat):<br>
        s[i].append(&#39;%s/%s&#39; % (sub, f) for f in l)<br>
<br></blockquote><div>Thanks, my python-fu is still rudimentary so that&#39;s helpful to know about.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

There are things that expect these lists to be sorted, so we&#39;re going to<br>
need an extra step here. And merging the sorted file lists from the main<br>
repo and N subrepos efficiently can probably be done more efficiently<br>
than sort(sum(lists)).<br>
<div><div></div><div class="h5"><br><br></div></div></blockquote><div><br></div><div>I believe this is already correctly sorted, because the second to last line in the status method performs a sort on each array.</div><div>
<br></div><div>Cheers</div><div>David </div></div></div>