All of lore.kernel.org
 help / color / mirror / Atom feed
From: Taylor Blau <me@ttaylorr.com>
To: git@vger.kernel.org
Cc: gitster@pobox.com, peff@peff.net
Subject: [PATCH 0/3] pack-objects: introduce pack.preferBitmapTips
Date: Wed, 31 Mar 2021 21:32:03 -0400	[thread overview]
Message-ID: <cover.1617240723.git.me@ttaylorr.com> (raw)

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

             reply	other threads:[~2021-04-01  1:32 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-04-01  1:32 Taylor Blau [this message]
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

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=cover.1617240723.git.me@ttaylorr.com \
    --to=me@ttaylorr.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=peff@peff.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.