Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What does the '^{}' at the end of a git tag mean?

Tags:

git

when running this command to obtain all available versions from origin...

git ls-remote --tags | grep -i 'refs/tags/dev-[0-9]*\.[0-9]*\.[0-9]*' | sort -r | head | grep -i '[^\/]*$'

I get a list of unusual tags with unexpected endings:

From ****
*******93c7d****************        refs/tags/v0.0.11
*******bc823****************        refs/tags/v0.0.12
*******dcde9****************        refs/tags/V0.0.0
*******64632****************        refs/tags/V0.0.1^{}
*******1c2a1****************        refs/tags/v0.0.8^{}
*******6983d****************        refs/tags/v0.0.5
*******b7070****************        refs/tags/v0.0.6^{}
*******b11b1****************        refs/tags/v0.0.3
*******53965****************        refs/tags/v0.0.7^{}
*******42cf3****************        refs/tags/v0.0.12^{}

(censored for security reasons)

man git-tag and man git-ls-remote don't tell me anything.

Can someone tell me what the ^{} at the end means?

like image 414
coderatchet Avatar asked Oct 20 '22 18:10

coderatchet


1 Answers

Thanks to the reference given from @amenadiel

This is an excerpt from the website that explains what it is

<rev>^{}, e.g. v0.99.8^{}

A suffix ^ followed by an empty brace pair means the object could be a tag, and dereference the tag recursively until a non-tag object is found.

like image 95
coderatchet Avatar answered Oct 22 '22 22:10

coderatchet