mbox series

[0/3] handling warnings due to auto-enabled bitmaps

Message ID 20190731053703.GA16709@sigill.intra.peff.net (mailing list archive)
Headers show
Series handling warnings due to auto-enabled bitmaps | expand

Message

Jeff King July 31, 2019, 5:37 a.m. UTC
On Wed, Jul 31, 2019 at 12:28:07AM -0400, Jeff King wrote:

> On Mon, Jul 29, 2019 at 02:50:56PM +0200, Ævar Arnfjörð Bjarmason wrote:
> 
> > > Instead, it may make sense to turn the --write-bitmap-index option of
> > > pack-objects into a tri-state: true/false/auto. Then pack-objects would
> > > know that we are in best-effort mode, and would avoid warning in that
> > > case. That would also let git-repack express its intentions better to
> > > git-pack-objects, so we could replace 7328482253, and keep more of the
> > > logic in pack-objects, which is ultimately what has to make the decision
> > > about whether it can generate bitmaps.
> > 
> > Sounds like pentastate to me :) (penta = 5, had to look it up). I.e. in
> > most cases of "auto" we pick a true/false at the outset, whereas this is
> > true/true-but-dont-care-much/false/false-but-dont-care-much with "auto"
> > picking the "-but-dont-care-much" versions of a "soft" true/false.
> 
> I don't think we care about false-but-dont-care-much. Pack-objects just
> needs to know whether the bitmaps are the user's expressed intention, or
> just something that it should do if it's convenient.
> 
> I'll see if I can work up a patch to demonstrate.

This actually turned out pretty well, I think. I wish I had thought of
it when were initially looking at the .keep stuff. :) It was not too
hard to clean that up in the third patch, though.

  [1/3]: t7700: clean up .keep file in bitmap-writing test
  [2/3]: repack: silence warnings when auto-enabled bitmaps cannot be built
  [3/3]: repack: simplify handling of auto-bitmaps and .keep files

 builtin/pack-objects.c | 21 ++++++++++++++++-----
 builtin/repack.c       | 24 +++++++-----------------
 t/t7700-repack.sh      | 15 ++++++++++++++-
 3 files changed, 37 insertions(+), 23 deletions(-)