This series adds a new multi-valued configuration, pack.preferBitmapTips to allow callers to specify a list of reference prefixes which should mark their tips with the NEEDS_BITMAP flag. This has a similar effect as setting pack.islandCore: it indicates to the bitmap selection code that any commit object with that flag should get bitmap coverage (it doesn't necessarily imply that it *will*, see the third patch for details of why). This is more fall-out from the multi-pack bitmaps topic. Since we generate MIDX bitmaps after a geometric repack, any delta-islands configuration only takes effect on objects in the newly-created pack. Any commits which weren't in that pack may not get the same coverage they otherwise would have if repacking all-into-one with the same delta-islands settings. So, this config was designed to suggest which commits should get marked with NEEDS_BITMAP when the MIDX bitmap code does its own traversal to figure out which reachable objects are in the MIDX. But it's useful for single-pack bitmaps, too, if you're using them without delta islands. (Like all of the MIDX bitmap topics, we have been running this code at GitHub without any issue for a few weeks.) Thanks in advance for your review. Taylor Blau (3): pack-bitmap: add 'test_bitmap_commits()' helper t/helper/test-bitmap.c: initial commit builtin/pack-objects.c: respect 'pack.preferBitmapTips' Documentation/config/pack.txt | 15 ++++++++++++++ Makefile | 1 + builtin/pack-objects.c | 34 +++++++++++++++++++++++++++++++ pack-bitmap.c | 24 ++++++++++++++++++++++ pack-bitmap.h | 4 ++++ t/helper/test-bitmap.c | 24 ++++++++++++++++++++++ t/helper/test-tool.c | 1 + t/helper/test-tool.h | 1 + t/t5310-pack-bitmaps.sh | 38 +++++++++++++++++++++++++++++++++++ 9 files changed, 142 insertions(+) create mode 100644 t/helper/test-bitmap.c -- 2.31.1.163.ga65ce7f831