git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: Jeff King <peff@peff.net>
To: Junio C Hamano <gitster@pobox.com>
Cc: Matheus Tavares <matheus.bernardino@usp.br>,
	git@vger.kernel.org, rhi@pengutronix.de
Subject: Re: [PATCH] describe: output tag's ref instead of embedded name
Date: Tue, 18 Feb 2020 20:57:33 -0500	[thread overview]
Message-ID: <20200219015733.GA81560@coredump.intra.peff.net> (raw)
In-Reply-To: <xmqqzhdfh3vr.fsf@gitster-ct.c.googlers.com>

On Tue, Feb 18, 2020 at 03:28:24PM -0800, Junio C Hamano wrote:

> Junio C Hamano <gitster@pobox.com> writes:
> 
> > Coming back to the original topic, ...
> >
> >> If a tag describes a commit, we currently output not the tag's ref but
> >> its embedded name. This means that when the tag is locally stored under
> >> a different name, the output given cannot be used to access the tag in
> >> any way. A warning is also emitted in this case, but the message is not
> >> very enlightening:
> >
> > None of the above is wrong per-se, but the reason why we chose to
> > use the real name of the tag in the tag object, while issuing a
> > warning, was so that people can correct the mistake of storing an
> > annotated tag A to a wrong refname Q.  If "describe" gave a name
> > based on refname Q, there is no incentive to correct the situation
> > to use the right refname.  The name that describes the commits
> > relative to the real name of the A is *not* usable by design, until
> > the refname is corrected (i.e. the tag is stored in the right
> > place).
> >
> > So I am not 100% confident that the original patch is a good idea.
> 
> FWIW, this design came from 212945d4 ("Teach git-describe to verify
> annotated tag names before output", 2008-02-28).  Shawn was quite
> explicit that use of the real name was deliberate:
> 
>     If an annotated tag describes a commit we want to favor the name
>     listed in the body of the tag, rather than whatever name it has
>     been stored under locally.  By doing so it is easier to converse
>     about tags with others, even if the tags happen to be fetched to
>     a different name than it was given by its creator.
> 
> and I tend to agree with the original rationale.

Thanks, I should have dug into the history in the first place.

Still, I'm not entirely convinced. As a decentralized system, I think
our first duty is to make things convenient and workable for the
preferences of the local repository, and second to facilitate
communication with other people's clones of the same repository.

If for whatever reason I chose to call my version of the global v1.0 tag
as "v1.0-bob", then it seems friendlier to me to report the name that
can actually be used with further local commands (and remind the user of
the global name) than the other way around.

Though TBH the situation is rare enough that I kind of doubt it matters
all that much either way. It's been like this for over a decade, and
this is the first time I recall it being brought up.

-Peff

  reply	other threads:[~2020-02-19  1:57 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-02-05 14:13 git-describe --tags warning: 'X' is really 'Y' here Roland Hieber
2020-02-05 17:15 ` Matheus Tavares Bernardino
2020-02-14  6:53   ` Jeff King
2020-02-14 16:57     ` Junio C Hamano
2020-02-15 21:34       ` [PATCH] describe: output tag's ref instead of embedded name Matheus Tavares
2020-02-16  6:51         ` Jeff King
2020-02-18 19:31           ` Junio C Hamano
2020-02-18 19:54             ` Jeff King
2020-02-18 23:05               ` Junio C Hamano
2020-02-18 23:28                 ` Junio C Hamano
2020-02-19  1:57                   ` Jeff King [this message]
2020-02-19  3:22                     ` Junio C Hamano
2020-02-19  3:56                       ` Jeff King
2020-02-19 11:14                         ` Junio C Hamano
2020-02-20 11:25                           ` Jeff King
2020-02-20 17:34                             ` Junio C Hamano
2020-02-20 22:19                               ` Matheus Tavares Bernardino
2020-02-20 22:59                                 ` Junio C Hamano
2020-02-21  1:33                                   ` Matheus Tavares
2020-02-21  2:05                                     ` Junio C Hamano
2020-02-21  6:00                                       ` Jeff King
2020-02-21  5:58                               ` Jeff King
2020-02-19 10:08                       ` Roland Hieber

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: http://vger.kernel.org/majordomo-info.html

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200219015733.GA81560@coredump.intra.peff.net \
    --to=peff@peff.net \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=matheus.bernardino@usp.br \
    --cc=rhi@pengutronix.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).