fsck: document that skipList input must be unabbreviated

Abbreviating the SHA-1s in the skipList input has never worked, but
the documentation hasn't unambiguously stated that this is an error,
and there was no test for it.

Let's fix both since it would be easy for some later refactoring
e.g. switch to accidentally switch to a looser OID parsing function,
causing the tests before this change to pass, but for older versions
of git to be incompatible with the new skipList format.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Ævar Arnfjörð Bjarmason 2018-09-03 14:49:23 +00:00 коммит произвёл Junio C Hamano
Родитель f706c42bab
Коммит 12b1c50a42
2 изменённых файлов: 7 добавлений и 1 удалений

Просмотреть файл

@ -1710,7 +1710,7 @@ 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 list of object names (i.e. one SHA-1 per
The path to a list of object names (i.e. one unabbreviated SHA-1 per
line) that are known to be broken in a non-fatal way and should
be ignored. Comments ('#') and empty lines are not supported, and
will error out.

Просмотреть файл

@ -190,6 +190,12 @@ test_expect_failure 'fsck no garbage output from comments & empty lines errors'
test_line_count = 1 err-with-empty-line
'
test_expect_success 'fsck with invalid abbreviated skipList input' '
echo $commit | test_copy_bytes 20 >SKIP.abbreviated &&
test_must_fail git -c fsck.skipList=SKIP.abbreviated fsck 2>err-abbreviated &&
test_i18ngrep "^fatal: Invalid SHA-1: " err-abbreviated
'
test_expect_success 'push with receive.fsck.skipList' '
git push . $commit:refs/heads/bogus &&
rm -rf dst &&