Junio C Hamano <gitster@xxxxxxxxx> writes: > Mischa POSLAWSKY <git@xxxxxxxx> writes: > >> If I understand correctly, such tags cannot be produced normally anymore. >> Therefore I'm unsure how to make tests, and if that is even warranted. > > Thanks for spotting. A quick trial to recreate a tag object seems to succeed: $ git cat-file tag v0.99 | > sed -e '/-----BEGIN/,$d' | > git hash-object --stdin -w -t tag 667d141b478eee5e53d2ee05acd61bb1f640249a $ git cat-file tag 667d141b47 object a3eb250f996bf5e12376ec88622c4ccaabf20ea8 type commit tag v0.99 Test-release for wider distribution. I'll make the first public RPM's etc, thus the tag. So we should be able to do something along the above line. Here is my quick-n-dirty one. t/t6300-for-each-ref.sh | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/t/t6300-for-each-ref.sh b/t/t6300-for-each-ref.sh index ab69aa176d..b3a6b336fa 100755 --- a/t/t6300-for-each-ref.sh +++ b/t/t6300-for-each-ref.sh @@ -869,4 +869,16 @@ test_expect_success 'for-each-ref --ignore-case ignores case' ' test_cmp expect actual ' +test_expect_success 'show a taggerless tag' ' + test_commit tagged && + git tag -a -m "a normal tag" to-be-shown-0 HEAD && + another=$(git cat-file tag to-be-shown-0 | + sed -e "/^tagger /d" \ + -e "/^tag to-be-shown/s/0/1/" \ + -e "s/a normal tag/a broken tag/" | + git hash-object --stdin -w -t tag) && + git tag to-be-shown-1 $another && + git for-each-ref --format="%(refname:short) %(taggername)" refs/tags/to-be-shown\* +' + test_done