Re: git-describe --tags warning: 'X' is really 'Y' here

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Jeff King <peff@xxxxxxxx> writes:

>> >     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.

I agree.  What the tag creator, whom you treat as more authoritative
than yourself, called "gcc_9_2_0_release", is stored at a wrong
place by you and you have to call it "releases/gcc-9.2.0".  So the
right way (at least philosophically) to phrase the warning message
should reflect that a bit better, perhaps

  warning: tag 'releases/gcc-9.2.0' is externally known as 'gcc_9_2_0_release'
  releases/gcc-9.2.0

to hint that 'releases/gcc-9.2.0' is merely how you name it and the
real name of the tag itself is gcc_9_2_0_release, although in
practice everybody would be calling the tag with the same wrong
name, as that is how cloning and fetching of tags work ;-).





[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux