On Fri, Feb 14, 2020 at 11:03:26AM -0800, Junio C Hamano wrote: > Jeff King <peff@xxxxxxxx> writes: > > > It would also prepare us for a day where this case _is_ handled, but > > that's pretty unlikely. E.g., we could use bitmaps to generate the set > > of commits, and then diff each commit to see if it matches the pathspec. > > Would the gs/commit-graph-path-filter topic possibly help in this regard? > I was wondering how it would fit within the framework this series sets > up to teach object-filtering and reachability-bitmap codepaths to > work well together. I think it would make the scheme I described faster, because that diff becomes faster. So the commit traversal itself becomes proportionally more expensive. And if we could speed that up with bitmaps, that's some improvement. OTOH, my later timings in patch 9 showed that commit graphs already make that part pretty fast. And they do so without a bunch of weird restrictions and hassles. So I suspect it's not really worth the effort to implement this half-way bitmaps approach (for a special case that it's not even clear anybody cares about). But if somebody _does_ do so, I don't think we'd need to do anything too special to integrate with commit-graph-path-filter. The nice thing about that approach is that the pathspec pruning will just magically return the same answer, but faster. -Peff