From: Patrick Steinhardt Date: Tue, 09 Dec 2025 07:21:43 GMT Subject: Re: [PATCH 17/17] midx: enable reachability bitmaps during MIDX compaction Message-ID: In-Reply-To: On Sat, Dec 06, 2025 at 03:31:50PM -0500, Taylor Blau wrote: > Enable callers to generate reachability bitmaps when performing MIDX > layer compaction by combining all existing bitmaps from the compacted > layers. > > Note that the because of the object/pack ordering described by the s/that the because/that because/ > previous commit, the pseudo-pack order for the compacted MIDX is the > same as concatenating the individual pseudo-pack orderings for each > layer in the compaction range. > > As a result, the only non-test or documentation change necessary is to > treat all objects as non-preferred during compaction so as not to > disturb the object ordering. > > In the future, we may want to adjust which commit(s) receive > reachability bitmaps when compacting multiple .bitmap files into one, or > even generate new bitmaps (e.g., if the references have moved > significantly since the .bitmap was generated). This commit only > implements combining all existing bitmaps in range together in order to > demonstrate and lay the groundwork for more exotic strategies. Will there also be a follow-up patch series that introduces geometric repacking for multi-pack indices? > @@ -216,6 +216,8 @@ static int cmd_multi_pack_index_compact(int argc, const char **argv, > > struct option *options; > static struct option builtin_multi_pack_index_compact_options[] = { > + OPT_BIT(0, "bitmap", &opts.flags, N_("write multi-pack bitmap"), > + MIDX_WRITE_BITMAP | MIDX_WRITE_REV_INDEX), > OPT_BIT(0, "incremental", &opts.flags, > N_("write a new incremental MIDX"), MIDX_WRITE_INCREMENTAL), > OPT_END(), Is this new flag actually incompatible with the incremental flag like you claimed in the preceding commit? I had the impression that it should be possible to write incremental bitmaps now. If that's not the case, we should probably have a call to `die_for_imcopatible_opt2()` somewhere. Patrick