fsck: test and document unknown fsck.<msg-id> values
When fsck.<msg-id> is set to an unknown value it'll cause "fsck" to die, but the same is not true of the "fetch" and "receive" variants. Document this and test for it. Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
65a836fa6b
commit
8a6d0525b7
@ -1637,6 +1637,10 @@ In general, it is better to enumerate existing objects with problems
|
|||||||
with `fsck.skipList`, instead of listing the kind of breakages these
|
with `fsck.skipList`, instead of listing the kind of breakages these
|
||||||
problematic objects share to be ignored, as doing the latter will
|
problematic objects share to be ignored, as doing the latter will
|
||||||
allow new instances of the same breakages go unnoticed.
|
allow new instances of the same breakages go unnoticed.
|
||||||
|
+
|
||||||
|
Setting an unknown `fsck.<msg-id>` value will cause fsck to die, but
|
||||||
|
doing the same for `receive.fsck.<msg-id>` and `fetch.fsck.<msg-id>`
|
||||||
|
will only cause git to warn.
|
||||||
|
|
||||||
fsck.skipList::
|
fsck.skipList::
|
||||||
The path to a sorted list of object names (i.e. one SHA-1 per
|
The path to a sorted list of object names (i.e. one SHA-1 per
|
||||||
|
@ -198,6 +198,10 @@ test_expect_success 'fetch with fetch.fsck.skipList' '
|
|||||||
git --git-dir=dst/.git fetch "file://$(pwd)" $refspec
|
git --git-dir=dst/.git fetch "file://$(pwd)" $refspec
|
||||||
'
|
'
|
||||||
|
|
||||||
|
test_expect_success 'fsck.<unknownmsg-id> dies' '
|
||||||
|
test_must_fail git -c fsck.whatEver=ignore fsck 2>err &&
|
||||||
|
test_i18ngrep "Unhandled message id: whatever" err
|
||||||
|
'
|
||||||
|
|
||||||
test_expect_success 'push with receive.fsck.missingEmail=warn' '
|
test_expect_success 'push with receive.fsck.missingEmail=warn' '
|
||||||
commit="$(git hash-object -t commit -w --stdin <bogus-commit)" &&
|
commit="$(git hash-object -t commit -w --stdin <bogus-commit)" &&
|
||||||
@ -211,10 +215,15 @@ test_expect_success 'push with receive.fsck.missingEmail=warn' '
|
|||||||
git --git-dir=dst/.git config fsck.missingEmail warn &&
|
git --git-dir=dst/.git config fsck.missingEmail warn &&
|
||||||
test_must_fail git push --porcelain dst bogus &&
|
test_must_fail git push --porcelain dst bogus &&
|
||||||
|
|
||||||
|
# receive.fsck.<unknownmsg-id> warns
|
||||||
|
git --git-dir=dst/.git config \
|
||||||
|
receive.fsck.whatEver error &&
|
||||||
|
|
||||||
git --git-dir=dst/.git config \
|
git --git-dir=dst/.git config \
|
||||||
receive.fsck.missingEmail warn &&
|
receive.fsck.missingEmail warn &&
|
||||||
git push --porcelain dst bogus >act 2>&1 &&
|
git push --porcelain dst bogus >act 2>&1 &&
|
||||||
grep "missingEmail" act &&
|
grep "missingEmail" act &&
|
||||||
|
test_i18ngrep "Skipping unknown msg id.*whatever" act &&
|
||||||
git --git-dir=dst/.git branch -D bogus &&
|
git --git-dir=dst/.git branch -D bogus &&
|
||||||
git --git-dir=dst/.git config --add \
|
git --git-dir=dst/.git config --add \
|
||||||
receive.fsck.missingEmail ignore &&
|
receive.fsck.missingEmail ignore &&
|
||||||
@ -235,10 +244,15 @@ test_expect_success 'fetch with fetch.fsck.missingEmail=warn' '
|
|||||||
git --git-dir=dst/.git config fsck.missingEmail warn &&
|
git --git-dir=dst/.git config fsck.missingEmail warn &&
|
||||||
test_must_fail git --git-dir=dst/.git fetch "file://$(pwd)" $refspec &&
|
test_must_fail git --git-dir=dst/.git fetch "file://$(pwd)" $refspec &&
|
||||||
|
|
||||||
|
# receive.fsck.<unknownmsg-id> warns
|
||||||
|
git --git-dir=dst/.git config \
|
||||||
|
fetch.fsck.whatEver error &&
|
||||||
|
|
||||||
git --git-dir=dst/.git config \
|
git --git-dir=dst/.git config \
|
||||||
fetch.fsck.missingEmail warn &&
|
fetch.fsck.missingEmail warn &&
|
||||||
git --git-dir=dst/.git fetch "file://$(pwd)" $refspec >act 2>&1 &&
|
git --git-dir=dst/.git fetch "file://$(pwd)" $refspec >act 2>&1 &&
|
||||||
grep "missingEmail" act &&
|
grep "missingEmail" act &&
|
||||||
|
test_i18ngrep "Skipping unknown msg id.*whatever" act &&
|
||||||
rm -rf dst &&
|
rm -rf dst &&
|
||||||
git init dst &&
|
git init dst &&
|
||||||
git --git-dir=dst/.git config fetch.fsckobjects true &&
|
git --git-dir=dst/.git config fetch.fsckobjects true &&
|
||||||
|
Loading…
x
Reference in New Issue
Block a user