git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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

From
'B'Ben Boeckel' <ben.boeckel@kitware.com>
Date
Sep 22, 2023, 18:44 UTC
Message-ID
<ZQ3ggxA7KOysXrba@farprobe>
In-Reply-To
<032d01d9ed80$5e569670$1b03c350$@nexbridge.com>
On Fri, Sep 22, 2023 at 14:12:31 -0400, rsbecker@nexbridge.com 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
Previous: rsbecker@nexbridge.comNext: rsbecker@nexbridge.com
Message 9 of 20 in “[BUG] `git describe` doesn't traverse the graph in topological order”
  1. Ben BoeckelAug 12, 2023
  2. Ben BoeckelSep 22, 2023
  3. rsbecker@nexbridge.comSep 22, 2023
  4. 'Ben Boeckel'Sep 22, 2023
  5. rsbecker@nexbridge.comSep 22, 2023
  6. 'Ben Boeckel'Sep 22, 2023
  7. Junio C HamanoSep 22, 2023
  8. rsbecker@nexbridge.comSep 22, 2023
  9. 'Ben Boeckel'Sep 22, 2023
  10. rsbecker@nexbridge.comSep 22, 2023
  11. 'Ben Boeckel'Sep 22, 2023
  12. rsbecker@nexbridge.comSep 22, 2023
  13. 'Ben Boeckel'Nov 20, 2025
  14. Jeff KingNov 20, 2025
  15. 'Ben Boeckel'Feb 28, 2026
  16. 'Ben Boeckel'Sep 22, 2023
  17. 'Ben Boeckel'Sep 23, 2023
  18. Kristoffer HaugsbakkSep 22, 2023
  19. Kristoffer HaugsbakkSep 22, 2023
  20. 'Ben Boeckel'Sep 22, 2023

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.