Antw: Re: Q: git describe --always --tags .. gives "warning: tag 'tag1' is really 'tag2' here"
>>> Junio C Hamano <gitster@pobox.com> schrieb am 29.05.2019 um 20:01 in
Nachricht <xmqqd0k1ywal.fsf@gitster-ct.c.googlers.com>:
Show 16 quoted lines
> "Ulrich Windl" <Ulrich.Windl@rz.uni‑regensburg.de> writes:
>
>> So I got the response:
>> warning: tag 'isredir‑0.3.0' is really 'iredir‑0.3.0' here
>> isredir‑0.3.0‑3‑gaf467c7
>
> I suspect that "git cat‑file tag isredir‑0.3.0" would begin like
>
> $ git cat‑file tag iredir‑0.3.0
> object .....
> type commit
> tag isredir‑0.3.0
> tagger ...
>
> Notice that "tag" line records the true name of that tag, which does
> not match where you stored that tag in refs/tags/ hierarchy?
Hi!
Sorry for the delay (long weekend): Yes it is as you guessed. The tag is a signed one, BTW.
Show 13 quoted lines
>
> While trying to describe af467c7 by following its ancestry and
> finding the ancestor three generations ago, the command found
> refs/tags/iredir‑0.3.0 and then noticed that discrepancy, which is
> what the warning is about.
>
> Imagine you have only v1.0.0 (which is with known issues) but
> somebody did "cd .git/refs/tags && mv v1.0.0 v1.1.0" in an attempt
> to fool you. The fact that your 'master' is a bit ahead of the
> commit that was tagged with the tag object (which is v1.0.0 but
> pretending to be v1.1.0) can be seen with "describe", but the
> command is careful enough to use the real version number
> (i.e. v1.0.0) and not the refname (i.e. v1.1.0).
Still I'm missing a verbose version of "git tag" that shows the commit IDs along with the tag names. Unfortunately "-v" is not "--verbose" but "--verify" (as opposed to "git remote" for example).
Regards, Ulrich