From: Junio C Hamano <gitster@pobox.com>
To: Patrick Steinhardt <ps@pks.im>
Cc: "Erik Östlund" <erik.ostlund@gmail.com>, git@vger.kernel.org
Subject: Re: Pinned references?
Date: Fri, 19 Jun 2026 09:25:19 -0700 [thread overview]
Message-ID: <xmqqeci2lcpc.fsf@gitster.g> (raw)
In-Reply-To: <ajTx9vLIWK5wvTHM@pks.im> (Patrick Steinhardt's message of "Fri, 19 Jun 2026 09:38:30 +0200")
Patrick Steinhardt <ps@pks.im> writes:
> You can already kind of do this:
>
> $ git rev-parse v2.54.0
> 0b13e48a3a30cdfa94e8ef842e24d6045ab3d015
>
> $ git rev-parse v2.54.0-0-g0b13e48a3
> 0b13e48a3a30cdfa94e8ef842e24d6045ab3d015
>
> $ git rev-parse v2.54.0-0-g95e20213f
> 95e20213faefeb95df29277c58ac1980ab68f701
>
> This is described under gitrevisions(7), `<describeOutput>`. The only
> gotcha is that this format will not verify that the tag and the object
> ID actually match. But other than that it gives you the ability to have
> both the human-readable name and the machine-readable commit ID in
> there.
>
> As said, we don't verify that those two revisions actually match. So in
> the case where they don't the result is certainly going to be lots of
> confusion. It certainly is one of the more surprising syntaxes that we
> have in Git.
It is very unlikely we would change this, but it is a fun thought
experiment to imagine what would have happened if we insisted (i.e.,
verified and then died if it does not hold true) on the presence of
v2.54.0 tag and when the "hop" count is "-0-", we also insisted that
the hexadecimal part exactly matched the contents of v2.54.0 tag, or
when the "hop" count is not zero, we insisted that the hexadecimal
part names a commit that is descendant of the commit v2.54.0 names.
prev parent reply other threads:[~2026-06-19 16:25 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-06-18 18:37 Pinned references? Erik Östlund
2026-06-19 7:38 ` Patrick Steinhardt
2026-06-19 16:25 ` Junio C Hamano [this message]
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
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=xmqqeci2lcpc.fsf@gitster.g \
--to=gitster@pobox.com \
--cc=erik.ostlund@gmail.com \
--cc=git@vger.kernel.org \
--cc=ps@pks.im \
/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.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.