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

Reply via email to