Subject: Re: [BUG] `git describe` doesn't traverse the graph in topological order

From: Junio C Hamano <[email-masked]>
Date: Fri, 22 Sep 2023 10:51:59 -0700

<[email-masked]> writes:

> There appears to be a merge at 446120fd88 which brings v9.3.0.rc0 closer to HEAD than v9.3.0.rc1.

I didn't look at the actual graph but let me say I trust you ;-)

I wonder if there should be an obvious "explain why you gave this
name" mode added to the command, though.  The command should be able
to say "The closest path from HEAD to any tag is via this, that, and
that commit, which is N hops to tag T0", and from there, the user
should be able to say "Oh, I thought T1 was closer, let me try again
to describe HEAD, limiting the candidate only to T1" and run the
command in that mode, which should be able to say "The closest path
from HEAD to any tag that is allowed as a candidate is via these
commits, which is M hops to tag T1".  And if M is smaller than N,
then that may deserve to trigger a bug report (but as you said,
there are rules like preferring annotated over unannotated tags
involved, so it may not as straight-forward as comparing the two
integer hop counts).

Thanks for digging.