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

From: 'Ben Boeckel' <[email-masked]>
Date: Fri, 22 Sep 2023 15:05:30 -0400

On Fri, Sep 22, 2023 at 14:49:58 -0400, [email-masked] wrote:
> On Friday, September 22, 2023 2:44 PM, Ben Boeckel wrote:
> >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.
> 
> This is going to be awkward to resolve as time_t only resolves
> (portably) to 1 second intervals. I still would prefer the resolution
> to be path-based rather than time-based.

I certainly agree, but I'm not sure of the best way of doing that. Do we
create/load a commit graph and use that for resolving insertion order
into the commit heap?

--Ben