git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH 0/3] pack-objects: introduce pack.preferBitmapTips

From
Taylor Blau <me@ttaylorr.com>
Date
Apr 1, 2021, 01:32 UTC
Message-ID
<cover.1617240723.git.me@ttaylorr.com>

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
Next: Taylor Blau
Message 1 of 13 in “pack-objects: introduce pack.preferBitmapTips”
  1. 0/3 pack-objects: introduce pack.preferBitmapTipsTaylor Blau, Apr 1, 2021
  2. 1/3 pack-bitmap: add 'test_bitmap_commits()' helperTaylor Blau, Apr 1, 2021
  3. 2/3 t/helper/test-bitmap.c: initial commitTaylor Blau, Apr 1, 2021
  4. SunCC doesn't compile v2.32.0-rc* anymore (was "Re: [PATCH 2/3] t/helper/test-bitmap.c: initial commit")Ævar Arnfjörð Bjarmason, May 26, 2021
  5. Taylor BlauMay 26, 2021
  6. Ævar Arnfjörð BjarmasonMay 26, 2021
  7. pack-objects: move builtin-only code to its own headerÆvar Arnfjörð Bjarmason, May 27, 2021
  8. Junio C HamanoMay 27, 2021
  9. Junio C HamanoMay 27, 2021
  10. Junio C HamanoMay 27, 2021
  11. Ævar Arnfjörð BjarmasonMay 27, 2021
  12. 3/3 builtin/pack-objects.c: respect 'pack.preferBitmapTips'Taylor Blau, Apr 1, 2021
  13. Derrick StoleeApr 1, 2021

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.