On Fri, Oct 13, 2017 at 09:55:15AM -0400, Derrick Stolee wrote: > > We should be comparing an empty tree and d0/d0/d0/d0 (or however deep > > your pathspec goes). We should be able to see immediately that the entry > > is not present between the two and not bother descending. After all, > > we've set the QUICK flag in init_revisions(). So the real question is > > why QUICK is not kicking in. > > I'm struggling to understand your meaning. We want to walk from root to > d0/d0/d0/d0, but there is no reason to walk beyond that tree. But maybe > that's what the QUICK flag is supposed to do. Yes, that's exactly what it is for. When we see the first difference we should say "aha, the caller only wanted to know whether there was a difference, not what it was" and return immediately. See diff_can_quit_early(). -Peff