Re: [PATCH 17/17] midx: enable reachability bitmaps during MIDX compaction
- From
Patrick Steinhardt <ps@pks.im>
- Date
- Dec 9, 2025, 07:21 UTC
- Message-ID
- <aTfOBz3ElQYi6j8i@pks.im>
- In-Reply-To
- <d6a4e6b69552d8626e6df2d7cd042b9fe151914a.1765053054.git.me@ttaylorr.com>
On Sat, Dec 06, 2025 at 03:31:50PM -0500, Taylor Blau wrote:
Show 5 quoted lines
> 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/
Show 14 quoted lines
> 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?
Show 9 quoted lines
> @@ -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