diff options
author | Junio C Hamano <gitster@pobox.com> | 2017-01-18 23:12:12 (GMT) |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2017-01-18 23:12:12 (GMT) |
commit | cf417e2c1f50578d8f7eccb65b981042d05939f0 (patch) | |
tree | 0c72f5c975f754b32e38e08ff10f9f856ec8f343 /t | |
parent | 74f7427f8a7a6f8ac87e9f1bb1b140cd034f428d (diff) | |
parent | 1c409a705cb30ae3db6cdd48757c4a85f51456d4 (diff) | |
download | git-cf417e2c1f50578d8f7eccb65b981042d05939f0.zip git-cf417e2c1f50578d8f7eccb65b981042d05939f0.tar.gz git-cf417e2c1f50578d8f7eccb65b981042d05939f0.tar.bz2 |
Merge branch 'dt/disable-bitmap-in-auto-gc'
It is natural that "git gc --auto" may not attempt to pack
everything into a single pack, and there is no point in warning
when the user has configured the system to use the pack bitmap,
leading to disabling further "gc".
* dt/disable-bitmap-in-auto-gc:
repack: die on incremental + write-bitmap-index
auto gc: don't write bitmaps for incremental repacks
Diffstat (limited to 't')
-rwxr-xr-x | t/t5310-pack-bitmaps.sh | 8 | ||||
-rwxr-xr-x | t/t6500-gc.sh | 25 |
2 files changed, 28 insertions, 5 deletions
diff --git a/t/t5310-pack-bitmaps.sh b/t/t5310-pack-bitmaps.sh index b4c7a6f..424bec7 100755 --- a/t/t5310-pack-bitmaps.sh +++ b/t/t5310-pack-bitmaps.sh @@ -118,12 +118,10 @@ test_expect_success 'fetch (partial bitmap)' ' test_cmp expect actual ' -test_expect_success 'incremental repack cannot create bitmaps' ' +test_expect_success 'incremental repack fails when bitmaps are requested' ' test_commit more-1 && - find .git/objects/pack -name "*.bitmap" >expect && - git repack -d && - find .git/objects/pack -name "*.bitmap" >actual && - test_cmp expect actual + test_must_fail git repack -d 2>err && + test_i18ngrep "Incremental repacks are incompatible with bitmap" err ' test_expect_success 'incremental repack can disable bitmaps' ' diff --git a/t/t6500-gc.sh b/t/t6500-gc.sh index 5d7d414..1762dfa 100755 --- a/t/t6500-gc.sh +++ b/t/t6500-gc.sh @@ -43,4 +43,29 @@ test_expect_success 'gc is not aborted due to a stale symref' ' ) ' +test_expect_success 'auto gc with too many loose objects does not attempt to create bitmaps' ' + test_config gc.auto 3 && + test_config gc.autodetach false && + test_config pack.writebitmaps true && + # We need to create two object whose sha1s start with 17 + # since this is what git gc counts. As it happens, these + # two blobs will do so. + test_commit 263 && + test_commit 410 && + # Our first gc will create a pack; our second will create a second pack + git gc --auto && + ls .git/objects/pack | sort >existing_packs && + test_commit 523 && + test_commit 790 && + + git gc --auto 2>err && + test_i18ngrep ! "^warning:" err && + ls .git/objects/pack/ | sort >post_packs && + comm -1 -3 existing_packs post_packs >new && + comm -2 -3 existing_packs post_packs >del && + test_line_count = 0 del && # No packs are deleted + test_line_count = 2 new # There is one new pack and its .idx +' + + test_done |