<div class="gmail_quote">On Thu, Oct 20, 2011 at 08:18, Matt Mackall <span dir="ltr"><<a href="mailto:mpm@selenic.com">mpm@selenic.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

<div><div></div><div class="h5">On Thu, 2011-10-20 at 13:43 +0200, Dirkjan Ochtman wrote:<br>
> On Wed, Oct 19, 2011 at 22:21, Matt Mackall <<a href="mailto:mpm@selenic.com">mpm@selenic.com</a>> wrote:<br>
> > a) Work towards having commit/status/diff consistent AND recursive by<br>
> > default<br>
> > b) Make commitsubrepos False by default<br>
> > c) Add your recursesubrepos option, None by default<br>><br>
> I'm with Patrick in that I prefer (b) even now. I find his argument<br>
> about predictability and scalability of performance compelling, but<br>
> mostly I find recursive commit (by default) plain scary.<br>
<br>
</div></div>Would it still be scary if you had recursive diff and status by default?</blockquote><div><br></div><div>I'd prefer option (b) as it prevents the most annoying situations I've encountered from coming up in the first place. Before I figured out what the option was for I was very paranoid about making subrepos clean to avoid the recursive commit on repositories I don't control. Maybe a compromise is to allow a (per-subrepo?) flag in .hgsub for commitsubrepos=false. This also semi-fulfills the requests for read-only subrepos.</div>

<div><br></div><div>I mostly think status and diff should be recursive by default either way. If you've changed a subrepo to a different clean revision, status/diff should show the file changes that the next `hg commit` will reflect. The only problem I have is that the generated diff is not completely correct if you want to import it...</div>

</div>