]> git.ipfire.org Git - thirdparty/git.git/commitdiff
Merge branch 'ac/bitmap-lookup-table'
authorJunio C Hamano <gitster@pobox.com>
Tue, 6 Sep 2022 01:33:39 +0000 (18:33 -0700)
committerJunio C Hamano <gitster@pobox.com>
Tue, 6 Sep 2022 01:33:39 +0000 (18:33 -0700)
The pack bitmap file gained a bitmap-lookup table to speed up
locating the necessary bitmap for a given commit.

* ac/bitmap-lookup-table:
  pack-bitmap-write: drop unused pack_idx_entry parameters
  bitmap-lookup-table: add performance tests for lookup table
  pack-bitmap: prepare to read lookup table extension
  pack-bitmap-write: learn pack.writeBitmapLookupTable and add tests
  pack-bitmap-write.c: write lookup table extension
  bitmap: move `get commit positions` code to `bitmap_writer_finish`
  Documentation/technical: describe bitmap lookup table extension

1  2 
Documentation/config/pack.txt
builtin/multi-pack-index.c
midx.c
t/t5326-multi-pack-bitmaps.sh

index 3e581eab84a3b5af3b8583710f14b499171a6d49,b955ca572ecd0c6359724dcfaf69b01b120c4b4f..53093d99969cc090e4727a570eb667a6fba445d4
@@@ -164,9 -164,16 +164,16 @@@ When writing a multi-pack reachability 
  computed; instead, any namehashes stored in an existing bitmap are
  permuted into their appropriate location when writing a new bitmap.
  
+ pack.writeBitmapLookupTable::
+       When true, Git will include a "lookup table" section in the
+       bitmap index (if one is written). This table is used to defer
+       loading individual bitmaps as late as possible. This can be
+       beneficial in repositories that have relatively large bitmap
+       indexes. Defaults to false.
  pack.writeReverseIndex::
        When true, git will write a corresponding .rev file (see:
 -      link:../technical/pack-format.html[Documentation/technical/pack-format.txt])
 +      linkgit:gitformat-pack[5])
        for each new packfile that it writes in all places except for
        linkgit:git-fast-import[1] and in the bulk checkin mechanism.
        Defaults to false.
Simple merge
diff --cc midx.c
Simple merge
Simple merge