diff options
author | Junio C Hamano <gitster@pobox.com> | 2021-04-20 17:23:35 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2021-04-20 17:23:35 -0700 |
commit | 2eebac2c496dae01899900e98809ab15d87e1dd1 (patch) | |
tree | 57b9e98233a73d7456ae456110b7e4009a5bb20e /t | |
parent | Merge branch 'ab/userdiff-tests' (diff) | |
parent | pack-objects: update "nr_seen" progress based on pack-reused count (diff) | |
download | tgif-2eebac2c496dae01899900e98809ab15d87e1dd1.tar.xz |
Merge branch 'jk/pack-objects-bitmap-progress-fix'
When "git pack-objects" makes a literal copy of a part of existing
packfile using the reachability bitmaps, its update to the progress
meter was broken.
* jk/pack-objects-bitmap-progress-fix:
pack-objects: update "nr_seen" progress based on pack-reused count
Diffstat (limited to 't')
-rwxr-xr-x | t/t5310-pack-bitmaps.sh | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/t/t5310-pack-bitmaps.sh b/t/t5310-pack-bitmaps.sh index f53efc8229..b02838750e 100755 --- a/t/t5310-pack-bitmaps.sh +++ b/t/t5310-pack-bitmaps.sh @@ -461,6 +461,29 @@ test_expect_success 'truncated bitmap fails gracefully (cache)' ' test_i18ngrep corrupted.bitmap.index stderr ' +test_expect_success 'enumerating progress counts pack-reused objects' ' + count=$(git rev-list --objects --all --count) && + git repack -adb && + + # check first with only reused objects; confirm that our progress + # showed the right number, and also that we did pack-reuse as expected. + # Check only the final "done" line of the meter (there may be an + # arbitrary number of intermediate lines ending with CR). + GIT_PROGRESS_DELAY=0 \ + git pack-objects --all --stdout --progress \ + </dev/null >/dev/null 2>stderr && + grep "Enumerating objects: $count, done" stderr && + grep "pack-reused $count" stderr && + + # now the same but with one non-reused object + git commit --allow-empty -m "an extra commit object" && + GIT_PROGRESS_DELAY=0 \ + git pack-objects --all --stdout --progress \ + </dev/null >/dev/null 2>stderr && + grep "Enumerating objects: $((count+1)), done" stderr && + grep "pack-reused $count" stderr +' + # have_delta <obj> <expected_base> # # Note that because this relies on cat-file, it might find _any_ copy of an |