Re: [PATCH/RFC 2/2] Make path-limiting be incremental when possible.
From: Linus Torvalds <torvalds@osdl.org>
Date: 2016-06-15 22:42:22
On Thu, 30 Mar 2006, Linus Torvalds wrote:
This makes git-rev-list able to do path-limiting without having to parse all of history before it starts showing the results. This makes it things like "git log -- pathname" much more pleasant to use.
Sadly, it seems to react really badly to Junio's new --boundary logic for
some reason that I haven't quite figured out yet.
That reaction is independent of the actual pathname restriction, and seems
to be related to how the --boundary logic expected
pop_most_recent_commit() to work. In particular:
...
if (commit->object.flags & BOUNDARY) {
/* this is already uninteresting,
* so there is no point popping its
* parents into the list.
*/
that code is magic, and seems to depend on something subtle going on with
the list, and the incremental thing already popped the parent earlier and
screwed up whatever magic that the BOUNDARY code depends on.
Junio? I think you did some funky special case with BOUNDARY commits, and
I broke it for you, can you look at the patch and see if you can see it?
I'd really like to have the incremental path-limiter, because it really
makes a huge difference in the usability of "git log pathname".
Linus