Merge branch 'mp/for-each-ref-missing-name-or-email'
"for-each-ref" and friends that shows refs did not protect themselves against ancient tags that did not record tagger names when asked to show "%(taggername)", which have been corrected. * mp/for-each-ref-missing-name-or-email: ref-filter: initialize empty name or email fields
This commit is contained in:
commit
a477abe9e4
@ -1028,7 +1028,7 @@ static const char *copy_name(const char *buf)
|
||||
if (!strncmp(cp, " <", 2))
|
||||
return xmemdupz(buf, cp - buf);
|
||||
}
|
||||
return "";
|
||||
return xstrdup("");
|
||||
}
|
||||
|
||||
static const char *copy_email(const char *buf)
|
||||
@ -1036,10 +1036,10 @@ static const char *copy_email(const char *buf)
|
||||
const char *email = strchr(buf, '<');
|
||||
const char *eoemail;
|
||||
if (!email)
|
||||
return "";
|
||||
return xstrdup("");
|
||||
eoemail = strchr(email, '>');
|
||||
if (!eoemail)
|
||||
return "";
|
||||
return xstrdup("");
|
||||
return xmemdupz(email, eoemail + 1 - email);
|
||||
}
|
||||
|
||||
|
@ -526,6 +526,25 @@ test_expect_success 'Check ambiguous head and tag refs II (loose)' '
|
||||
test_cmp expected actual
|
||||
'
|
||||
|
||||
test_expect_success 'create tag without tagger' '
|
||||
git tag -a -m "Broken tag" taggerless &&
|
||||
git tag -f taggerless $(git cat-file tag taggerless |
|
||||
sed -e "/^tagger /d" |
|
||||
git hash-object --stdin -w -t tag)
|
||||
'
|
||||
|
||||
test_atom refs/tags/taggerless type 'commit'
|
||||
test_atom refs/tags/taggerless tag 'taggerless'
|
||||
test_atom refs/tags/taggerless tagger ''
|
||||
test_atom refs/tags/taggerless taggername ''
|
||||
test_atom refs/tags/taggerless taggeremail ''
|
||||
test_atom refs/tags/taggerless taggerdate ''
|
||||
test_atom refs/tags/taggerless committer ''
|
||||
test_atom refs/tags/taggerless committername ''
|
||||
test_atom refs/tags/taggerless committeremail ''
|
||||
test_atom refs/tags/taggerless committerdate ''
|
||||
test_atom refs/tags/taggerless subject 'Broken tag'
|
||||
|
||||
test_expect_success 'an unusual tag with an incomplete line' '
|
||||
|
||||
git tag -m "bogo" bogo &&
|
||||
|
Loading…
Reference in New Issue
Block a user