On Wed, Feb 05, 2020 at 02:15:07PM -0300, Matheus Tavares Bernardino wrote: > > I'm working with the GCC Git repo [0] (which was apparently recently > > converted from SVN [1]), and I'm trying to find out the most recent tag. > > So on the master branch I do: > > > > gcc (master) $ git describe --tags --abbrev=0 > > warning: tag 'gcc_9_2_0_release' is really 'releases/gcc-9.2.0' here > > gcc_9_2_0_release > > > > It took me a while to find out what the warning means, because > > 'gcc_9_2_0_release' is not in $(git tag -l), and it cannot be used as a > > ref either: > [...] > It seems that the commit which added the output message you got is > 212945d ("Teach git-describe to verify annotated tag names before > output", 2008-02-28) [1]. As the commit message states, the warning is > emitted when a tag is locally stored under a different name from the > one it was originally created (being the former the one you will want > to use at `git show`). Yeah, I think that is what's going on with that warning, but there's a weird thing about the actual stdout output. We see a tag object whose name doesn't match the ref. What's the "real" name of that tag? Is it the name in the object, and the ref is wrong? Or is the ref correct, and the object is wrong? You could get pretty philosophical there, I think, but it seems slightly annoying that we print the name from the object to stdout, when one cannot then use that name to access the tag in any way. I.e., I think it might be reasonable to issue that warning but then print "releases/gcc-9.2.0" instead. -Peff