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

[PATCH v4 00/25] multi-pack reachability bitmaps

From
Taylor Blau <me@ttaylorr.com>
Date
Aug 24, 2021, 16:15 UTC
Message-ID
<cover.1629821743.git.me@ttaylorr.com>
In-Reply-To
<cover.1617991824.git.me@ttaylorr.com>

Here is what I anticipate to be a final reroll of my series to implement multi-pack reachability bitmaps, based on review feedback from Peff.

Most of the change since last time are cosmetic test clean-ups. The previous reroll of this series incorporated feedback from a discussion[1] surrounding the `multi-pack-index` builtin's `--object-dir` argument. This reroll fixes a bug discussed here[2] where we should have been calling close_object_store() but weren't; the remainder of that bug has already been dealt with.

Thanks everybody for dealing with multiple versions of this quite lengthy and complicated series. Hopefully we are done in this round and can move on to integrating this with `git repack`, which will complete the MIDX bitmaps topic.

[1]: https://lore.kernel.org/git/YQMFIljXl7sAAA%2FL@nand.local/ [2]: https://lore.kernel.org/git/YRWBZJDCVyUOhk2F@coredump.intra.peff.net/

Jeff King (2):
  t0410: disable GIT_TEST_MULTI_PACK_INDEX_WRITE_BITMAP
  t5310: disable GIT_TEST_MULTI_PACK_INDEX_WRITE_BITMAP
Taylor Blau (23):
  pack-bitmap.c: harden 'test_bitmap_walk()' to check type bitmaps
  pack-bitmap-write.c: gracefully fail to write non-closed bitmaps
  pack-bitmap-write.c: free existing bitmaps
  Documentation: describe MIDX-based bitmaps
  midx: clear auxiliary .rev after replacing the MIDX
  midx: reject empty `--preferred-pack`'s
  midx: infer preferred pack when not given one
  midx: close linked MIDXs, avoid leaking memory
  midx: avoid opening multiple MIDXs when writing
  pack-bitmap.c: introduce 'bitmap_num_objects()'
  pack-bitmap.c: introduce 'nth_bitmap_object_oid()'
  pack-bitmap.c: introduce 'bitmap_is_preferred_refname()'
  pack-bitmap.c: avoid redundant calls to try_partial_reuse
  pack-bitmap: read multi-pack bitmaps
  pack-bitmap: write multi-pack bitmaps
  t5310: move some tests to lib-bitmap.sh
  t/helper/test-read-midx.c: add --checksum mode
  t5326: test multi-pack bitmap behavior
  t5319: don't write MIDX bitmaps in t5319
  t7700: update to work with MIDX bitmap test knob
  midx: respect 'GIT_TEST_MULTI_PACK_INDEX_WRITE_BITMAP'
  p5310: extract full and partial bitmap tests
  p5326: perf tests for MIDX bitmaps
 Documentation/git-multi-pack-index.txt       |  18 +-
 Documentation/technical/bitmap-format.txt    |  71 ++-
 Documentation/technical/multi-pack-index.txt |  10 +-
 builtin/multi-pack-index.c                   |   2 +
 builtin/pack-objects.c                       |   8 +-
 builtin/repack.c                             |  12 +-
 ci/run-build-and-tests.sh                    |   1 +
 midx.c                                       | 319 +++++++++++-
 midx.h                                       |   5 +
 pack-bitmap-write.c                          |  79 ++-
 pack-bitmap.c                                | 499 ++++++++++++++++---
 pack-bitmap.h                                |   9 +-
 packfile.c                                   |   2 +-
 t/README                                     |   4 +
 t/helper/test-read-midx.c                    |  16 +-
 t/lib-bitmap.sh                              | 240 +++++++++
 t/perf/lib-bitmap.sh                         |  69 +++
 t/perf/p5310-pack-bitmaps.sh                 |  65 +--
 t/perf/p5326-multi-pack-bitmaps.sh           |  43 ++
 t/t0410-partial-clone.sh                     |  12 +-
 t/t5310-pack-bitmaps.sh                      | 231 +--------
 t/t5319-multi-pack-index.sh                  |  20 +-
 t/t5326-multi-pack-bitmaps.sh                | 286 +++++++++++
 t/t7700-repack.sh                            |  18 +-
 24 files changed, 1603 insertions(+), 436 deletions(-)
 create mode 100644 t/perf/lib-bitmap.sh
 create mode 100755 t/perf/p5326-multi-pack-bitmaps.sh
 create mode 100755 t/t5326-multi-pack-bitmaps.sh
Range-diff against v3:
 1:  fa4cbed48e =  1:  92dc0bbc0d pack-bitmap.c: harden 'test_bitmap_walk()' to check type bitmaps
 2:  2b15c1fc5c =  2:  979276bc74 pack-bitmap-write.c: gracefully fail to write non-closed bitmaps
 3:  2ad513a230 =  3:  8f00493955 pack-bitmap-write.c: free existing bitmaps
 4:  8da5de7c24 =  4:  bc7db926d8 Documentation: describe MIDX-based bitmaps
 5:  49297f57ed =  5:  771741844b midx: clear auxiliary .rev after replacing the MIDX
 6:  c5513f2a75 =  6:  dab5dbf228 midx: reject empty `--preferred-pack`'s
 7:  53ef0a6d67 =  7:  31f4517de0 midx: infer preferred pack when not given one
 8:  114773d9cd =  8:  aa3bd96d9b midx: close linked MIDXs, avoid leaking memory
 9:  40cff5beb5 !  9:  c9fea31fa8 midx: avoid opening multiple MIDXs when writing
    @@ Commit message
         one and should invalidate the object store's memory of any MIDX that
         might have existed beforehand.
     
    +    Note that this now forbids passing object directories that don't belong
    +    to alternate repositories over `--object-dir`, since before we would
    +    have happily opened a MIDX in any directory, but now restrict ourselves
    +    to only those reachable by `r->objects->multi_pack_index` (and alternate
    +    MIDXs that we can see by walking the `next` pointer).
    +
    +    As far as I can tell, supporting arbitrary directories with
    +    `--object-dir` was a historical accident, since even the documentation
    +    says `<alt>` when referring to the value passed to this option.
    +
    +    A future patch could clean this up and provide a warning() when a
    +    non-alternate directory was given, since we'll still write a new MIDX
    +    there, we just won't reuse any MIDX that might happen to already exist
    +    in that directory.
    +
         Signed-off-by: Taylor Blau <me@ttaylorr.com>
     
      ## midx.c ##
    @@ midx.c: static int write_midx_internal(const char *object_dir, struct multi_pack
     +			break;
     +		}
     +	}
    -+	if (!ctx.m)
    -+		ctx.m = get_local_multi_pack_index(the_repository);
      
      	if (ctx.m && !midx_checksum_valid(ctx.m)) {
      		warning(_("ignoring existing multi-pack-index; checksum mismatch"));
    +@@ midx.c: static int write_midx_internal(const char *object_dir, struct multi_pack_index *
    + 	f = hashfd(get_lock_file_fd(&lk), get_lock_file_path(&lk));
    + 
    + 	if (ctx.m)
    +-		close_midx(ctx.m);
    ++		close_object_store(the_repository->objects);
    + 
    + 	if (ctx.nr - dropped_packs == 0) {
    + 		error(_("no pack files to index."));
     @@ midx.c: int write_midx_file(const char *object_dir,
      		    const char *preferred_pack_name,
      		    unsigned flags)
10:  ca7f726abf ! 10:  ee72fb7e38 pack-bitmap.c: introduce 'bitmap_num_objects()'
    @@ pack-bitmap.c: static void show_extended_objects(struct bitmap_index *bitmap_git
      
      		obj = eindex->objects[i];
     @@ pack-bitmap.c: static void filter_bitmap_exclude_type(struct bitmap_index *bitmap_git,
    - 	 * individually.
    + 	 * them individually.
      	 */
      	for (i = 0; i < eindex->count; i++) {
     -		uint32_t pos = i + bitmap_git->pack->num_objects;
11:  67e6897a34 = 11:  ede0bf1ce1 pack-bitmap.c: introduce 'nth_bitmap_object_oid()'
12:  743a1a138e = 12:  df6844def0 pack-bitmap.c: introduce 'bitmap_is_preferred_refname()'
13:  a3b641b3e6 = 13:  4e06f051a7 pack-bitmap.c: avoid redundant calls to try_partial_reuse
14:  141ff83275 = 14:  a0d73eb3d3 pack-bitmap: read multi-pack bitmaps
15:  54600b5814 ! 15:  9d83ad77ab pack-bitmap: write multi-pack bitmaps
    @@ midx.c: static int write_midx_internal(const char *object_dir,
      	f = hashfd(get_lock_file_fd(&lk), get_lock_file_path(&lk));
      
     -	if (ctx.m)
    --		close_midx(ctx.m);
    +-		close_object_store(the_repository->objects);
     -
      	if (ctx.nr - dropped_packs == 0) {
      		error(_("no pack files to index."));
    @@ midx.c: static int write_midx_internal(const char *object_dir,
     +		}
     +	}
     +
    -+	close_midx(ctx.m);
    ++	close_object_store(the_repository->objects);
      
      	commit_lock_file(&lk);
      
16:  168b7b0976 ! 16:  a92af89884 t5310: move some tests to lib-bitmap.sh
    @@ Commit message
     
      ## t/lib-bitmap.sh ##
     @@
    -+# Helpers for scripts testing bitamp functionality; see t5310 for
    ++# Helpers for scripts testing bitmap functionality; see t5310 for
     +# example usage.
     +
      # Compare a file containing rev-list bitmap traversal output to its non-bitmap
17:  60ec8b3466 ! 17:  d47aa4a919 t/helper/test-read-midx.c: add --checksum mode
    @@ t/lib-bitmap.sh: have_delta () {
      }
     +
     +midx_checksum () {
    -+	test-tool read-midx --checksum "${1:-.git/objects}"
    ++	test-tool read-midx --checksum "$1"
     +}
18:  3258ccfc1c ! 18:  9d9d9f28a6 t5326: test multi-pack bitmap behavior
    @@ t/t5326-multi-pack-bitmaps.sh (new)
     +	git repack -ad &&
     +	git multi-pack-index write --bitmap &&
     +	test_path_is_file $midx &&
    -+	test_path_is_file $midx-$(midx_checksum $objdir).bitmap
    ++	test_path_is_file $midx-$(midx_checksum $objdir).bitmap &&
    ++	test_path_is_file $midx-$(midx_checksum $objdir).rev
     +'
     +
     +basic_bitmap_tests
    @@ t/t5326-multi-pack-bitmaps.sh (new)
     +	for i in $(test_seq 1 16)
     +	do
     +		test_commit "$i" &&
    -+		git repack -d
    ++		git repack -d || return 1
     +	done &&
     +
     +	git checkout -b other2 HEAD~8 &&
     +	for i in $(test_seq 1 8)
     +	do
     +		test_commit "side-$i" &&
    -+		git repack -d
    ++		git repack -d || return 1
     +	done &&
     +	git checkout second
     +'
    @@ t/t5326-multi-pack-bitmaps.sh (new)
     +	test_line_count = 25 packs &&
     +
     +	test_path_is_file $midx &&
    -+	test_path_is_file $midx-$(midx_checksum $objdir).bitmap
    ++	test_path_is_file $midx-$(midx_checksum $objdir).bitmap &&
    ++	test_path_is_file $midx-$(midx_checksum $objdir).rev
     +'
     +
     +basic_bitmap_tests
    @@ t/t5326-multi-pack-bitmaps.sh (new)
     +	git multi-pack-index write --bitmap &&
     +
     +	test_commit respect--no-bitmap &&
    -+	GIT_TEST_MULTI_PACK_INDEX=0 git repack -d &&
    ++	git repack -d &&
     +
     +	test_path_is_file $midx &&
     +	test_path_is_file $midx-$(midx_checksum $objdir).bitmap &&
    ++	test_path_is_file $midx-$(midx_checksum $objdir).rev &&
     +
     +	git multi-pack-index write --no-bitmap &&
     +
     +	test_path_is_file $midx &&
    -+	test_path_is_missing $midx-$(midx_checksum $objdir).bitmap
    ++	test_path_is_missing $midx-$(midx_checksum $objdir).bitmap &&
    ++	test_path_is_missing $midx-$(midx_checksum $objdir).rev
     +'
     +
     +test_expect_success 'setup midx with base from later pack' '
    @@ t/t5326-multi-pack-bitmaps.sh (new)
     +			git config core.multiPackIndex true &&
     +			if test "MIDX" = "$from"
     +			then
    -+				GIT_TEST_MULTI_PACK_INDEX=0 git repack -Ad &&
    ++				git repack -Ad &&
     +				git multi-pack-index write --bitmap
     +			else
    -+				GIT_TEST_MULTI_PACK_INDEX=0 git repack -Adb
    ++				git repack -Adb
     +			fi
     +		)
     +	'
    @@ t/t5326-multi-pack-bitmaps.sh (new)
     +
     +			if test "MIDX" = "$to"
     +			then
    -+				GIT_TEST_MULTI_PACK_INDEX=0 git repack -d &&
    ++				git repack -d &&
     +				git multi-pack-index write --bitmap
     +			else
    -+				GIT_TEST_MULTI_PACK_INDEX=0 git repack -Adb
    ++				git repack -Adb
     +			fi
     +		)
     +	'
    @@ t/t5326-multi-pack-bitmaps.sh (new)
     +	test_commit loose &&
     +	git multi-pack-index write --bitmap 2>err &&
     +	test_path_is_file $midx &&
    -+	test_path_is_file $midx-$(midx_checksum $objdir).bitmap
    ++	test_path_is_file $midx-$(midx_checksum $objdir).bitmap &&
    ++	test_path_is_file $midx-$(midx_checksum $objdir).rev
     +'
     +
     +basic_bitmap_tests HEAD~
    @@ t/t5326-multi-pack-bitmaps.sh (new)
     +
     +		# Write a MIDX and bitmap; remove the MIDX but leave the bitmap.
     +		stale_bitmap=$midx-$(midx_checksum $objdir).bitmap &&
    ++		stale_rev=$midx-$(midx_checksum $objdir).rev &&
     +		rm $midx &&
     +
     +		# Then write a new MIDX.
    @@ t/t5326-multi-pack-bitmaps.sh (new)
     +
     +		test_path_is_file $midx &&
     +		test_path_is_file $midx-$(midx_checksum $objdir).bitmap &&
    -+		test_path_is_missing $stale_bitmap
    ++		test_path_is_file $midx-$(midx_checksum $objdir).rev &&
    ++		test_path_is_missing $stale_bitmap &&
    ++		test_path_is_missing $stale_rev
     +	)
     +'
     +
    @@ t/t5326-multi-pack-bitmaps.sh (new)
     +		git multi-pack-index write --bitmap &&
     +		test_path_is_file $midx &&
     +		test_path_is_file $midx-$(midx_checksum $objdir).bitmap &&
    ++		test_path_is_file $midx-$(midx_checksum $objdir).rev &&
     +
     +		test-tool bitmap list-commits | sort >bitmaps &&
     +		comm -13 bitmaps commits >before &&
19:  47c7e6bb9b = 19:  3e0da7e5ed t0410: disable GIT_TEST_MULTI_PACK_INDEX_WRITE_BITMAP
20:  6a708858b1 = 20:  4e0d49a2dd t5310: disable GIT_TEST_MULTI_PACK_INDEX_WRITE_BITMAP
21:  1eaa744b24 = 21:  47eba8ecf9 t5319: don't write MIDX bitmaps in t5319
22:  a4a899e31f = 22:  3d78afa2ad t7700: update to work with MIDX bitmap test knob
23:  50865e52a3 = 23:  c2f94e033d midx: respect 'GIT_TEST_MULTI_PACK_INDEX_WRITE_BITMAP'
24:  0f1fd6e7d4 = 24:  6b03016c99 p5310: extract full and partial bitmap tests
25:  82e8133bf4 = 25:  d98faa4c2c p5326: perf tests for MIDX bitmaps
-- 
2.31.1.163.ga65ce7f831
Previous: Taylor BlauNext: Taylor Blau
Message 174 of 273 in “multi-pack reachability bitmaps”
  1. 00/22 multi-pack reachability bitmapsTaylor Blau, Apr 9, 2021
  2. 01/22 pack-bitmap.c: harden 'test_bitmap_walk()' to check type bitmapsTaylor Blau, Apr 9, 2021
  3. 02/22 pack-bitmap-write.c: gracefully fail to write non-closed bitmapsTaylor Blau, Apr 9, 2021
  4. Jonathan TanApr 16, 2021
  5. 03/22 pack-bitmap-write.c: free existing bitmapsTaylor Blau, Apr 9, 2021
  6. 04/22 Documentation: build 'technical/bitmap-format' by defaultTaylor Blau, Apr 9, 2021
  7. 06/22 midx: make a number of functions non-staticTaylor Blau, Apr 9, 2021
  8. 05/22 Documentation: describe MIDX-based bitmapsTaylor Blau, Apr 9, 2021
  9. 07/22 midx: clear auxiliary .rev after replacing the MIDXTaylor Blau, Apr 9, 2021
  10. 08/22 midx: respect 'core.multiPackIndex' when writingTaylor Blau, Apr 9, 2021
  11. 09/22 pack-bitmap.c: introduce 'bitmap_num_objects()'Taylor Blau, Apr 9, 2021
  12. 10/22 pack-bitmap.c: introduce 'nth_bitmap_object_oid()'Taylor Blau, Apr 9, 2021
  13. 11/22 pack-bitmap.c: introduce 'bitmap_is_preferred_refname()'Taylor Blau, Apr 9, 2021
  14. 12/22 pack-bitmap: read multi-pack bitmapsTaylor Blau, Apr 9, 2021
  15. Jonathan TanApr 16, 2021
  16. Taylor BlauApr 16, 2021
  17. 13/22 pack-bitmap: write multi-pack bitmapsTaylor Blau, Apr 9, 2021
  18. Jonathan TanMay 4, 2021
  19. Taylor BlauMay 6, 2021
  20. Jonathan TanMay 6, 2021
  21. 14/22 t5310: move some tests to lib-bitmap.shTaylor Blau, Apr 9, 2021
  22. 16/22 t5326: test multi-pack bitmap behaviorTaylor Blau, Apr 9, 2021
  23. Jonathan TanMay 4, 2021
  24. 15/22 t/helper/test-read-midx.c: add --checksum modeTaylor Blau, Apr 9, 2021
  25. 17/22 t5310: disable GIT_TEST_MULTI_PACK_INDEX_WRITE_BITMAPTaylor Blau, Apr 9, 2021
  26. 19/22 t7700: update to work with MIDX bitmap test knobTaylor Blau, Apr 9, 2021
  27. 18/22 t5319: don't write MIDX bitmaps in t5319Taylor Blau, Apr 9, 2021
  28. 21/22 p5310: extract full and partial bitmap testsTaylor Blau, Apr 9, 2021
  29. 20/22 midx: respect 'GIT_TEST_MULTI_PACK_INDEX_WRITE_BITMAP'Taylor Blau, Apr 9, 2021
  30. 22/22 p5326: perf tests for MIDX bitmapsTaylor Blau, Apr 9, 2021
  31. Jonathan TanMay 4, 2021
  32. Junio C HamanoMay 5, 2021
  33. 00/24 multi-pack reachability bitmapsTaylor Blau, Jun 21, 2021
  34. 01/24 pack-bitmap.c: harden 'test_bitmap_walk()' to check type bitmapsTaylor Blau, Jun 21, 2021
  35. Ævar Arnfjörð BjarmasonJun 24, 2021
  36. Taylor BlauJul 14, 2021
  37. Jeff KingJul 21, 2021
  38. Taylor BlauJul 21, 2021
  39. 02/24 pack-bitmap-write.c: gracefully fail to write non-closed bitmapsTaylor Blau, Jun 21, 2021
  40. Ævar Arnfjörð BjarmasonJun 24, 2021
  41. Taylor BlauJul 14, 2021
  42. Ævar Arnfjörð BjarmasonJul 14, 2021
  43. Jeff KingJul 21, 2021
  44. Jeff KingJul 21, 2021
  45. Taylor BlauJul 21, 2021
  46. Jeff KingJul 23, 2021
  47. Taylor BlauJul 26, 2021
  48. Jeff KingJul 27, 2021
  49. 03/24 pack-bitmap-write.c: free existing bitmapsTaylor Blau, Jun 21, 2021
  50. Jeff KingJul 21, 2021
  51. 04/24 Documentation: build 'technical/bitmap-format' by defaultTaylor Blau, Jun 21, 2021
  52. Ævar Arnfjörð BjarmasonJun 24, 2021
  53. Taylor BlauJul 14, 2021
  54. Ævar Arnfjörð BjarmasonJul 14, 2021
  55. Jeff KingJul 21, 2021
  56. Jeff KingJul 21, 2021
  57. Jeff KingJul 21, 2021
  58. Jeff KingJul 21, 2021
  59. Taylor BlauJul 21, 2021
  60. Jeff KingJul 23, 2021
  61. Taylor BlauJul 26, 2021
  62. 05/24 Documentation: describe MIDX-based bitmapsTaylor Blau, Jun 21, 2021
  63. Jeff KingJul 21, 2021
  64. Taylor BlauJul 21, 2021
  65. Jeff KingJul 23, 2021
  66. 06/24 midx: make a number of functions non-staticTaylor Blau, Jun 21, 2021
  67. Ævar Arnfjörð BjarmasonJun 24, 2021
  68. Taylor BlauJul 14, 2021
  69. 07/24 midx: clear auxiliary .rev after replacing the MIDXTaylor Blau, Jun 21, 2021
  70. Jeff KingJul 21, 2021
  71. 08/24 midx: respect 'core.multiPackIndex' when writingTaylor Blau, Jun 21, 2021
  72. Ævar Arnfjörð BjarmasonJun 24, 2021
  73. Jeff KingJul 21, 2021
  74. Taylor BlauJul 21, 2021
  75. Jeff KingJul 23, 2021
  76. Taylor BlauJul 26, 2021
  77. Taylor BlauJul 26, 2021
  78. Jeff KingJul 27, 2021
  79. Taylor BlauJul 27, 2021
  80. Jeff KingJul 27, 2021
  81. Taylor BlauJul 27, 2021
  82. Jeff KingJul 27, 2021
  83. Taylor BlauJul 27, 2021
  84. Jeff KingJul 28, 2021
  85. Taylor BlauJul 29, 2021
  86. Jeff KingAug 12, 2021
  87. Jeff KingJul 27, 2021
  88. 09/24 midx: infer preferred pack when not given oneTaylor Blau, Jun 21, 2021
  89. Jeff KingJul 21, 2021
  90. Taylor BlauJul 21, 2021
  91. Jeff KingJul 23, 2021
  92. Taylor BlauJul 26, 2021
  93. 10/24 pack-bitmap.c: introduce 'bitmap_num_objects()'Taylor Blau, Jun 21, 2021
  94. Jeff KingJul 21, 2021
  95. 11/24 pack-bitmap.c: introduce 'nth_bitmap_object_oid()'Taylor Blau, Jun 21, 2021
  96. Taylor BlauJun 24, 2021
  97. Jeff KingJul 21, 2021
  98. Jeff KingJul 21, 2021
  99. 12/24 pack-bitmap.c: introduce 'bitmap_is_preferred_refname()'Taylor Blau, Jun 21, 2021
  100. Jeff KingJul 21, 2021
  101. Taylor BlauJul 21, 2021
  102. 13/24 pack-bitmap: read multi-pack bitmapsTaylor Blau, Jun 21, 2021
  103. Jeff KingJul 21, 2021
  104. Taylor BlauJul 21, 2021
  105. Jeff KingJul 23, 2021
  106. Jeff KingJul 23, 2021
  107. Taylor BlauJul 26, 2021
  108. 14/24 pack-bitmap: write multi-pack bitmapsTaylor Blau, Jun 21, 2021
  109. Ævar Arnfjörð BjarmasonJun 24, 2021
  110. Taylor BlauJul 15, 2021
  111. Jeff KingJul 21, 2021
  112. Taylor BlauJul 26, 2021
  113. Taylor BlauJul 26, 2021
  114. Jeff KingJul 27, 2021
  115. Taylor BlauJul 27, 2021
  116. Jeff KingJul 28, 2021
  117. Taylor BlauJul 29, 2021
  118. Jeff KingAug 12, 2021
  119. 15/24 t5310: move some tests to lib-bitmap.shTaylor Blau, Jun 21, 2021
  120. 16/24 t/helper/test-read-midx.c: add --checksum modeTaylor Blau, Jun 21, 2021
  121. 18/24 t0410: disable GIT_TEST_MULTI_PACK_INDEX_WRITE_BITMAPTaylor Blau, Jun 21, 2021
  122. 17/24 t5326: test multi-pack bitmap behaviorTaylor Blau, Jun 21, 2021
  123. 19/24 t5310: disable GIT_TEST_MULTI_PACK_INDEX_WRITE_BITMAPTaylor Blau, Jun 21, 2021
  124. 20/24 t5319: don't write MIDX bitmaps in t5319Taylor Blau, Jun 21, 2021
  125. 21/24 t7700: update to work with MIDX bitmap test knobTaylor Blau, Jun 21, 2021
  126. 22/24 midx: respect 'GIT_TEST_MULTI_PACK_INDEX_WRITE_BITMAP'Taylor Blau, Jun 21, 2021
  127. Ævar Arnfjörð BjarmasonJun 25, 2021
  128. 23/24 p5310: extract full and partial bitmap testsTaylor Blau, Jun 21, 2021
  129. 24/24 p5326: perf tests for MIDX bitmapsTaylor Blau, Jun 21, 2021
  130. Ævar Arnfjörð BjarmasonJun 25, 2021
  131. Taylor BlauJul 15, 2021
  132. Jeff KingJul 21, 2021
  133. 00/25 multi-pack reachability bitmapsTaylor Blau, Jul 27, 2021
  134. 01/25 pack-bitmap.c: harden 'test_bitmap_walk()' to check type bitmapsTaylor Blau, Jul 27, 2021
  135. 03/25 pack-bitmap-write.c: free existing bitmapsTaylor Blau, Jul 27, 2021
  136. 04/25 Documentation: describe MIDX-based bitmapsTaylor Blau, Jul 27, 2021
  137. 02/25 pack-bitmap-write.c: gracefully fail to write non-closed bitmapsTaylor Blau, Jul 27, 2021
  138. 06/25 midx: reject empty `--preferred-pack`'sTaylor Blau, Jul 27, 2021
  139. 09/25 midx: avoid opening multiple MIDXs when writingTaylor Blau, Jul 27, 2021
  140. Taylor BlauJul 29, 2021
  141. Jeff KingAug 12, 2021
  142. Jeff KingAug 12, 2021
  143. Taylor BlauAug 12, 2021
  144. 10/25 pack-bitmap.c: introduce 'bitmap_num_objects()'Taylor Blau, Jul 27, 2021
  145. 11/25 pack-bitmap.c: introduce 'nth_bitmap_object_oid()'Taylor Blau, Jul 27, 2021
  146. 12/25 pack-bitmap.c: introduce 'bitmap_is_preferred_refname()'Taylor Blau, Jul 27, 2021
  147. 08/25 midx: close linked MIDXs, avoid leaking memoryTaylor Blau, Jul 27, 2021
  148. 07/25 midx: infer preferred pack when not given oneTaylor Blau, Jul 27, 2021
  149. 14/25 pack-bitmap: read multi-pack bitmapsTaylor Blau, Jul 27, 2021
  150. 13/25 pack-bitmap.c: avoid redundant calls to try_partial_reuseTaylor Blau, Jul 27, 2021
  151. 17/25 t/helper/test-read-midx.c: add --checksum modeTaylor Blau, Jul 27, 2021
  152. Jeff KingAug 12, 2021
  153. Taylor BlauAug 12, 2021
  154. 16/25 t5310: move some tests to lib-bitmap.shTaylor Blau, Jul 27, 2021
  155. Jeff KingAug 12, 2021
  156. 18/25 t5326: test multi-pack bitmap behaviorTaylor Blau, Jul 27, 2021
  157. Jeff KingAug 12, 2021
  158. Jeff KingAug 12, 2021
  159. Taylor BlauAug 12, 2021
  160. Jeff KingAug 12, 2021
  161. 05/25 midx: clear auxiliary .rev after replacing the MIDXTaylor Blau, Jul 27, 2021
  162. 15/25 pack-bitmap: write multi-pack bitmapsTaylor Blau, Jul 27, 2021
  163. 19/25 t0410: disable GIT_TEST_MULTI_PACK_INDEX_WRITE_BITMAPTaylor Blau, Jul 27, 2021
  164. 20/25 t5310: disable GIT_TEST_MULTI_PACK_INDEX_WRITE_BITMAPTaylor Blau, Jul 27, 2021
  165. 21/25 t5319: don't write MIDX bitmaps in t5319Taylor Blau, Jul 27, 2021
  166. 22/25 t7700: update to work with MIDX bitmap test knobTaylor Blau, Jul 27, 2021
  167. 23/25 midx: respect 'GIT_TEST_MULTI_PACK_INDEX_WRITE_BITMAP'Taylor Blau, Jul 27, 2021
  168. Jeff KingAug 12, 2021
  169. 24/25 p5310: extract full and partial bitmap testsTaylor Blau, Jul 27, 2021
  170. 25/25 p5326: perf tests for MIDX bitmapsTaylor Blau, Jul 27, 2021
  171. Jeff KingAug 12, 2021
  172. Jeff KingAug 12, 2021
  173. Taylor BlauAug 12, 2021
  174. 00/25 multi-pack reachability bitmapsTaylor Blau, Aug 24, 2021
  175. 01/25 pack-bitmap.c: harden 'test_bitmap_walk()' to check type bitmapsTaylor Blau, Aug 24, 2021
  176. 02/25 pack-bitmap-write.c: gracefully fail to write non-closed bitmapsTaylor Blau, Aug 24, 2021
  177. 03/25 pack-bitmap-write.c: free existing bitmapsTaylor Blau, Aug 24, 2021
  178. 04/25 Documentation: describe MIDX-based bitmapsTaylor Blau, Aug 24, 2021
  179. 05/25 midx: clear auxiliary .rev after replacing the MIDXTaylor Blau, Aug 24, 2021
  180. Junio C HamanoAug 24, 2021
  181. Taylor BlauAug 24, 2021
  182. Junio C HamanoAug 24, 2021
  183. Taylor BlauAug 24, 2021
  184. Taylor BlauAug 24, 2021
  185. Junio C HamanoAug 24, 2021
  186. Junio C HamanoAug 24, 2021
  187. Taylor BlauAug 24, 2021
  188. Junio C HamanoAug 27, 2021
  189. Taylor BlauAug 27, 2021
  190. Junio C HamanoAug 29, 2021
  191. Taylor BlauAug 30, 2021
  192. Junio C HamanoAug 30, 2021
  193. Taylor BlauAug 30, 2021
  194. brian m. carlsonAug 30, 2021
  195. Junio C HamanoAug 30, 2021
  196. Taylor BlauAug 30, 2021
  197. Jeff KingAug 31, 2021
  198. Junio C HamanoAug 31, 2021
  199. Taylor BlauAug 31, 2021
  200. Junio C HamanoAug 31, 2021
  201. Taylor BlauAug 31, 2021
  202. Derrick StoleeAug 31, 2021
  203. Jeff KingAug 31, 2021
  204. Junio C HamanoAug 31, 2021
  205. Taylor BlauAug 31, 2021
  206. Derrick StoleeAug 31, 2021
  207. Jeff KingSep 1, 2021
  208. 06/25 midx: reject empty `--preferred-pack`'sTaylor Blau, Aug 24, 2021
  209. 07/25 midx: infer preferred pack when not given oneTaylor Blau, Aug 24, 2021
  210. 08/25 midx: close linked MIDXs, avoid leaking memoryTaylor Blau, Aug 24, 2021
  211. 09/25 midx: avoid opening multiple MIDXs when writingTaylor Blau, Aug 24, 2021
  212. 10/25 pack-bitmap.c: introduce 'bitmap_num_objects()'Taylor Blau, Aug 24, 2021
  213. 11/25 pack-bitmap.c: introduce 'nth_bitmap_object_oid()'Taylor Blau, Aug 24, 2021
  214. 12/25 pack-bitmap.c: introduce 'bitmap_is_preferred_refname()'Taylor Blau, Aug 24, 2021
  215. 13/25 pack-bitmap.c: avoid redundant calls to try_partial_reuseTaylor Blau, Aug 24, 2021
  216. 14/25 pack-bitmap: read multi-pack bitmapsTaylor Blau, Aug 24, 2021
  217. 15/25 pack-bitmap: write multi-pack bitmapsTaylor Blau, Aug 24, 2021
  218. 16/25 t5310: move some tests to lib-bitmap.shTaylor Blau, Aug 24, 2021
  219. 17/25 t/helper/test-read-midx.c: add --checksum modeTaylor Blau, Aug 24, 2021
  220. 19/25 t0410: disable GIT_TEST_MULTI_PACK_INDEX_WRITE_BITMAPTaylor Blau, Aug 24, 2021
  221. 20/25 t5310: disable GIT_TEST_MULTI_PACK_INDEX_WRITE_BITMAPTaylor Blau, Aug 24, 2021
  222. 18/25 t5326: test multi-pack bitmap behaviorTaylor Blau, Aug 24, 2021
  223. 21/25 t5319: don't write MIDX bitmaps in t5319Taylor Blau, Aug 24, 2021
  224. 23/25 midx: respect 'GIT_TEST_MULTI_PACK_INDEX_WRITE_BITMAP'Taylor Blau, Aug 24, 2021
  225. 25/25 p5326: perf tests for MIDX bitmapsTaylor Blau, Aug 24, 2021
  226. 24/25 p5310: extract full and partial bitmap testsTaylor Blau, Aug 24, 2021
  227. 22/25 t7700: update to work with MIDX bitmap test knobTaylor Blau, Aug 24, 2021
  228. Jeff KingAug 25, 2021
  229. Taylor BlauAug 25, 2021
  230. Taylor BlauAug 25, 2021
  231. Jeff KingAug 25, 2021
  232. Johannes BergAug 25, 2021
  233. Taylor BlauAug 26, 2021
  234. Taylor BlauAug 26, 2021
  235. Jeff KingAug 27, 2021
  236. Junio C HamanoAug 29, 2021
  237. 00/27 multi-pack reachability bitmapsTaylor Blau, Aug 31, 2021
  238. 01/27 pack-bitmap.c: harden 'test_bitmap_walk()' to check type bitmapsTaylor Blau, Aug 31, 2021
  239. 02/27 pack-bitmap-write.c: gracefully fail to write non-closed bitmapsTaylor Blau, Aug 31, 2021
  240. 03/27 pack-bitmap-write.c: free existing bitmapsTaylor Blau, Aug 31, 2021
  241. 04/27 Documentation: describe MIDX-based bitmapsTaylor Blau, Aug 31, 2021
  242. 05/27 midx: disallow running outside of a repositoryTaylor Blau, Aug 31, 2021
  243. 06/27 midx: fix `*.rev` cleanups with `--object-dir`Taylor Blau, Aug 31, 2021
  244. 07/27 midx: clear auxiliary .rev after replacing the MIDXTaylor Blau, Aug 31, 2021
  245. 09/27 midx: infer preferred pack when not given oneTaylor Blau, Aug 31, 2021
  246. 08/27 midx: reject empty `--preferred-pack`'sTaylor Blau, Aug 31, 2021
  247. 10/27 midx: close linked MIDXs, avoid leaking memoryTaylor Blau, Aug 31, 2021
  248. 11/27 midx: avoid opening multiple MIDXs when writingTaylor Blau, Aug 31, 2021
  249. 12/27 pack-bitmap.c: introduce 'bitmap_num_objects()'Taylor Blau, Aug 31, 2021
  250. 13/27 pack-bitmap.c: introduce 'nth_bitmap_object_oid()'Taylor Blau, Aug 31, 2021
  251. 14/27 pack-bitmap.c: introduce 'bitmap_is_preferred_refname()'Taylor Blau, Aug 31, 2021
  252. 16/27 pack-bitmap: read multi-pack bitmapsTaylor Blau, Aug 31, 2021
  253. 15/27 pack-bitmap.c: avoid redundant calls to try_partial_reuseTaylor Blau, Aug 31, 2021
  254. 17/27 pack-bitmap: write multi-pack bitmapsTaylor Blau, Aug 31, 2021
  255. 18/27 t5310: move some tests to lib-bitmap.shTaylor Blau, Aug 31, 2021
  256. 19/27 t/helper/test-read-midx.c: add --checksum modeTaylor Blau, Aug 31, 2021
  257. 20/27 t5326: test multi-pack bitmap behaviorTaylor Blau, Aug 31, 2021
  258. 22/27 t5310: disable GIT_TEST_MULTI_PACK_INDEX_WRITE_BITMAPTaylor Blau, Aug 31, 2021
  259. 21/27 t0410: disable GIT_TEST_MULTI_PACK_INDEX_WRITE_BITMAPTaylor Blau, Aug 31, 2021
  260. 23/27 t5319: don't write MIDX bitmaps in t5319Taylor Blau, Aug 31, 2021
  261. 24/27 t7700: update to work with MIDX bitmap test knobTaylor Blau, Aug 31, 2021
  262. 25/27 midx: respect 'GIT_TEST_MULTI_PACK_INDEX_WRITE_BITMAP'Taylor Blau, Aug 31, 2021
  263. 26/27 p5310: extract full and partial bitmap testsTaylor Blau, Aug 31, 2021
  264. 27/27 p5326: perf tests for MIDX bitmapsTaylor Blau, Aug 31, 2021
  265. Junio C HamanoSep 1, 2021
  266. Taylor BlauSep 1, 2021
  267. Junio C HamanoSep 1, 2021
  268. Taylor BlauSep 1, 2021
  269. Junio C HamanoSep 1, 2021
  270. Taylor BlauSep 1, 2021
  271. Jeff KingSep 2, 2021
  272. Jeff KingSep 2, 2021
  273. Jeff KingSep 2, 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.