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

From: 'Ben Boeckel' <[email-masked]>
Date: Fri, 22 Sep 2023 14:44:19 -0400

On Fri, Sep 22, 2023 at 14:12:31 -0400, [email-masked] wrote:
> What confuses me is how, in the other subthread, that adding sleep 1 to the
> construction of history should make any difference. My understanding is that
> the path to the tag is invariant of the commit-date.

Yes. It is explained that the commit date stored is only to 1 second
granularity. Since the commits are stored in commit-date, an equal
commit date ends up "twisting" the history and traversing some ancestors
of commits before the commits themsevles. This loses the "seen" bit
tracking that is done and ends up labeling way more commits as "not part
of" ancestors. By sleeping for a second, the commit dates can be totally
ordered reliably.

And this tracks with my and the other thread's result that the traversal
is not paying attention to the topological history properly.

--Ben