Re: [PATCH v2 3/8] pack-bitmap: allow aborting iteration of bitmapped objects
From: Jeff King <hidden>
Date: 2026-07-14 07:17:34
On Mon, Jul 13, 2026 at 08:58:54PM -0700, Taylor Blau wrote:
quoted
That's fair. But adapting `traverse_commit_list()` requires tons of changes all over the tree, so I'm inclined to rather leave both `traverse_bitmap_commit_list()` and `traverse_commit_list()` as-is. Does that work for both of you?I think that it's fine to leave it as-is for the purpose of this series, though I would like to address it.
Me too.
I don't think we need to adapt `traverse_commit_list()`, though. We can go in the other direction Peff suggested, which would be to split the callback type used by `for_each_bitmapped_object()` from `show_reachable_fn`, keep the former abortable, and make the latter return void. That keeps `traverse_bitmap_commit_list()` in sync with `traverse_commit_list()` without changing the non-bitmap traversal machinery. I have a small two-patch follow-up on top of v3 that does this, which I'll send separately.
That would be a nice cleanup if it's possible, but I wondered if you would find that one or more of the callbacks actually rely on this abort feature. Only one way to find out. :) -Peff