On Tue, May 24, 2022 at 02:38:39PM -0700, Junio C Hamano wrote: > Taylor Blau <me@xxxxxxxxxxxx> writes: > > > verbatim reuse (c.f., `write_reused_pack_verbatim()`). > > Unlike "e.g." and "i.e.", I think these should all be "cf." (there > are many others). Oops. You learn something new everyday! ;-) > > + This patch handles the "preferred" pack (c.f., the section > > + "multi-pack-index reverse indexes" in > > + Documentation/technical/pack-format.txt) specially, since pack-objects > > + depends on reusing exact chunks of that pack verbatim in > > + reuse_partial_packfile_from_bitmap(). So if that pack cannot be loaded, > > + the utility of a bitmap is significantly diminished. > > It explains why we care about the "preferred" pack, which is a nice > clarification. It hints that the other packs do not matter as much, > and it is clearly stated that how they are handled is ... > > > + Similar to dc1daacdcc, we could technically just add this check in > > + reuse_partial_packfile_from_bitmap(), since it's possible to use a MIDX > > + .bitmap without needing to open any of its packs. But it's simpler to do > > + the check as early as possible, covering all direct uses of the > > + preferred pack. Note that doing this check early requires us to call > > + prepare_midx_pack() early, too, so move the relevant part of that loop > > + from load_reverse_index() into open_midx_bitmap_1(). > > + > > + Subsequent patches handle the non-preferred packs in a slightly > > + different fashion. > > ... left for later steps. > > Excellent write-up. Thanks very much! Taylor