diff options
author | Junio C Hamano <gitster@pobox.com> | 2021-02-18 04:21:42 +0300 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2021-02-18 04:21:42 +0300 |
commit | 9e634a91c8b6f57508aa91bd7306194d6ef6c14a (patch) | |
tree | c9e4a0ba9b454bc634d23116b7ac54ba41925b7a /t/t1450-fsck.sh | |
parent | 9bdccbcda77df036edef5badda76418d0ae80997 (diff) | |
parent | e89f89361cd7b706858eb22a6cf3d59d31a00acf (diff) |
Merge branch 'js/fsck-name-objects-fix'
Fix "git fsck --name-objects" which apparently has not been used by
anybody who is motivated enough to report breakage.
* js/fsck-name-objects-fix:
fsck --name-objects: be more careful parsing generation numbers
t1450: robustify `remove_object()`
Diffstat (limited to 't/t1450-fsck.sh')
-rwxr-xr-x | t/t1450-fsck.sh | 26 |
1 files changed, 12 insertions, 14 deletions
diff --git a/t/t1450-fsck.sh b/t/t1450-fsck.sh index a30fc5f74a..231243152b 100755 --- a/t/t1450-fsck.sh +++ b/t/t1450-fsck.sh @@ -40,17 +40,13 @@ test_expect_success 'HEAD is part of refs, valid objects appear valid' ' # specific corruption you test afterwards, lest a later test trip over # it. -test_expect_success 'setup: helpers for corruption tests' ' - sha1_file() { - remainder=${1#??} && - firsttwo=${1%$remainder} && - echo ".git/objects/$firsttwo/$remainder" - } && +sha1_file () { + git rev-parse --git-path objects/$(test_oid_to_path "$1") +} - remove_object() { - rm "$(sha1_file "$1")" - } -' +remove_object () { + rm "$(sha1_file "$1")" +} test_expect_success 'object with bad sha1' ' sha=$(echo blob | git hash-object -w --stdin) && @@ -662,13 +658,15 @@ test_expect_success 'fsck --name-objects' ' git init name-objects && ( cd name-objects && + git config core.logAllRefUpdates false && test_commit julius caesar.t && - test_commit augustus && - test_commit caesar && + test_commit augustus44 && + test_commit caesar && remove_object $(git rev-parse julius:caesar.t) && - test_must_fail git fsck --name-objects >out && tree=$(git rev-parse --verify julius:) && - test_i18ngrep "$tree (refs/tags/julius:" out + git tag -d julius && + test_must_fail git fsck --name-objects >out && + test_i18ngrep "$tree (refs/tags/augustus44\\^:" out ) ' |