From: David Kastrup Date: Sun, 29 Jul 2007 11:33:27 GMT Subject: Re: [PATCH] Documentation/git-diff: remove -r from --name-status example Message-ID: <85bqdvxx4o.fsf@lola.goethe.zz> In-Reply-To: Johannes Schindelin writes: >> } >> rev.diffopt.allow_external = 1; >> + rev.diffopt.recursive = 1; > > How about > > if (!rev.diffopt.quiet) > rev.diffopt.recursive = 1; > > instead? I think that the optimization "don't descend if we can figure this out at the top level" should be rather implemented at the program flow level than in the option processing, and quietness does not actually play into this: _any_ diff operation can skip trees with identical top-level SHA1. So the above optimization should not cause a performance difference (if it does, this is better fixed elsewhere), and makes it obscure to guess the "-q" behavior which should be more or less equivalent to --exit-status >/dev/null -- David Kastrup, Kriemhildstr. 15, 44793 Bochum