Git fork

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>

authored by

Ævar Arnfjörð Bjarmason and committed by
Junio C Hamano
12b1c50a f706c42b

+7 -1
+1 -1
Documentation/config.txt
··· 1710 1710 will only cause git to warn. 1711 1711 1712 1712 fsck.skipList:: 1713 - The path to a list of object names (i.e. one SHA-1 per 1713 + The path to a list of object names (i.e. one unabbreviated SHA-1 per 1714 1714 line) that are known to be broken in a non-fatal way and should 1715 1715 be ignored. Comments ('#') and empty lines are not supported, and 1716 1716 will error out.
+6
t/t5504-fetch-receive-strict.sh
··· 190 190 test_line_count = 1 err-with-empty-line 191 191 ' 192 192 193 + test_expect_success 'fsck with invalid abbreviated skipList input' ' 194 + echo $commit | test_copy_bytes 20 >SKIP.abbreviated && 195 + test_must_fail git -c fsck.skipList=SKIP.abbreviated fsck 2>err-abbreviated && 196 + test_i18ngrep "^fatal: Invalid SHA-1: " err-abbreviated 197 + ' 198 + 193 199 test_expect_success 'push with receive.fsck.skipList' ' 194 200 git push . $commit:refs/heads/bogus && 195 201 rm -rf dst &&