git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
* [PATCH 0/3] pack-objects: introduce pack.preferBitmapTips
@ 2021-04-01  1:32 Taylor Blau
  2021-04-01  1:32 ` [PATCH 1/3] pack-bitmap: add 'test_bitmap_commits()' helper Taylor Blau
                   ` (2 more replies)
  0 siblings, 3 replies; 13+ messages in thread
From: Taylor Blau @ 2021-04-01  1:32 UTC (permalink / raw)
  To: git; +Cc: gitster, peff

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

^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2021-05-27 12:52 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-04-01  1:32 [PATCH 0/3] pack-objects: introduce pack.preferBitmapTips Taylor Blau
2021-04-01  1:32 ` [PATCH 1/3] pack-bitmap: add 'test_bitmap_commits()' helper Taylor Blau
2021-04-01  1:32 ` [PATCH 2/3] t/helper/test-bitmap.c: initial commit Taylor Blau
2021-05-26 18:30   ` 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
2021-05-26 18:44     ` Taylor Blau
2021-05-26 21:10       ` Ævar Arnfjörð Bjarmason
2021-05-27  0:52         ` [PATCH] pack-objects: move builtin-only code to its own header Ævar Arnfjörð Bjarmason
2021-05-27  1:30           ` Junio C Hamano
2021-05-27  2:40           ` Junio C Hamano
2021-05-27  3:14           ` Junio C Hamano
2021-05-27 12:51             ` Ævar Arnfjörð Bjarmason
2021-04-01  1:32 ` [PATCH 3/3] builtin/pack-objects.c: respect 'pack.preferBitmapTips' Taylor Blau
2021-04-01 13:05   ` Derrick Stolee

Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).