зеркало из https://github.com/microsoft/git.git
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:
Родитель
65a836fa6b
Коммит
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
|
||||
problematic objects share to be ignored, as doing the latter will
|
||||
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::
|
||||
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
|
||||
'
|
||||
|
||||
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' '
|
||||
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 &&
|
||||
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 \
|
||||
receive.fsck.missingEmail warn &&
|
||||
git push --porcelain dst bogus >act 2>&1 &&
|
||||
grep "missingEmail" act &&
|
||||
test_i18ngrep "Skipping unknown msg id.*whatever" act &&
|
||||
git --git-dir=dst/.git branch -D bogus &&
|
||||
git --git-dir=dst/.git config --add \
|
||||
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 &&
|
||||
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 \
|
||||
fetch.fsck.missingEmail warn &&
|
||||
git --git-dir=dst/.git fetch "file://$(pwd)" $refspec >act 2>&1 &&
|
||||
grep "missingEmail" act &&
|
||||
test_i18ngrep "Skipping unknown msg id.*whatever" act &&
|
||||
rm -rf dst &&
|
||||
git init dst &&
|
||||
git --git-dir=dst/.git config fetch.fsckobjects true &&
|
||||
|
|
Загрузка…
Ссылка в новой задаче