Junio C Hamano <[email protected]> writes:
> Mischa POSLAWSKY <[email protected]> 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