From: Junio C Hamano Date: Fri, 18 Feb 2022 21:53:30 +0000 (-0800) Subject: Merge branch 'tb/midx-no-bitmap-for-no-objects' X-Git-Tag: v2.36.0-rc0~128 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=9b7e531f94c610439cff3c8d4556742524184463;p=thirdparty%2Fgit.git Merge branch 'tb/midx-no-bitmap-for-no-objects' When there is no object to write .bitmap file for, "git multi-pack-index" triggered an error, instead of just skipping, which has been corrected. * tb/midx-no-bitmap-for-no-objects: midx: prevent writing a .bitmap without any objects --- 9b7e531f94c610439cff3c8d4556742524184463 diff --cc t/t5326-multi-pack-bitmaps.sh index 3c1ecc7e25,89b5d45c48..4fe57414c1 --- a/t/t5326-multi-pack-bitmaps.sh +++ b/t/t5326-multi-pack-bitmaps.sh @@@ -266,23 -395,26 +266,45 @@@ test_expect_success 'hash-cache values ) ' + test_expect_success 'no .bitmap is written without any objects' ' + rm -fr repo && + git init repo && + test_when_finished "rm -fr repo" && + ( + cd repo && + + empty="$(git pack-objects $objdir/pack/pack packs <<-EOF && + pack-$empty.idx + EOF + + git multi-pack-index write --bitmap --stdin-packs \ + err && + + grep "bitmap without any objects" err && + + test_path_is_file $midx && + test_path_is_missing $midx-$(midx_checksum $objdir).bitmap + ) + ' + +test_expect_success 'graceful fallback when missing reverse index' ' + rm -fr repo && + git init repo && + test_when_finished "rm -fr repo" && + ( + cd repo && + + test_commit base && + + # write a pack and MIDX bitmap containing base + git repack -adb && + git multi-pack-index write --bitmap && + + GIT_TEST_MIDX_READ_RIDX=0 \ + git rev-list --use-bitmap-index HEAD 2>err && + ! grep "ignoring extra bitmap file" err + ) +' + test_done