зеркало из https://github.com/microsoft/git.git
mktag: allow omitting the header/body \n separator
Change mktag's acceptance rules to accept an empty body without an empty line after the header again. This fixes an ancient unintended dregression in "mktag". When "mktag" was introduced inec4465adb3
(Add "tag" objects that can be used to sign other objects., 2005-04-25) the input checks were much looser. When it was documented it6cfec03680
(mktag: minimally update the description., 2007-06-10) it was clearly intended for this \n to be optional: The message, when [it] exists, is separated by a blank line from the header. But then ine0aaf781f6
(mktag.c: improve verification of tagger field and tests, 2008-03-27) this was made an error, seemingly by accident. It was just a result of the general header checks, and all the tests after that patch have a trailing empty line (but did not before). Let's allow this again, and tweak the test semantics changed ine0aaf781f6
to remove the redundant empty line. New tests added in previous commits of mine already added an explicit test for allowing the empty line between header and body. Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Родитель
acfc01332b
Коммит
9a1a3a4d4c
2
fsck.c
2
fsck.c
|
@ -987,6 +987,8 @@ int fsck_tag_standalone(const struct object_id *oid, const char *buffer,
|
|||
}
|
||||
else
|
||||
ret = fsck_ident(&buffer, oid, OBJ_TAG, options);
|
||||
if (!*buffer)
|
||||
goto done;
|
||||
|
||||
if (!starts_with(buffer, "\n")) {
|
||||
/*
|
||||
|
|
|
@ -446,7 +446,7 @@ tagger T A Gger <tagger@example.com> 1206478233 -0500
|
|||
|
||||
EOF
|
||||
|
||||
test_expect_mktag_success 'require a blank line before an empty body (1)'
|
||||
test_expect_mktag_success 'allow a blank line before an empty body (1)'
|
||||
|
||||
cat >tag.sig <<EOF
|
||||
object $head
|
||||
|
@ -455,8 +455,7 @@ tag mytag
|
|||
tagger T A Gger <tagger@example.com> 1206478233 -0500
|
||||
EOF
|
||||
|
||||
check_verify_failure 'require a blank line before an empty body (2)' \
|
||||
'^error:.* extraHeaderEntry:'
|
||||
test_expect_mktag_success 'allow no blank line before an empty body (2)'
|
||||
|
||||
############################################################
|
||||
# 24. create valid tag
|
||||
|
@ -466,7 +465,6 @@ object $head
|
|||
type commit
|
||||
tag mytag
|
||||
tagger T A Gger <tagger@example.com> 1206478233 -0500
|
||||
|
||||
EOF
|
||||
|
||||
test_expect_mktag_success 'create valid tag object'
|
||||
|
|
Загрузка…
Ссылка в новой задаче