Thomas Rast [off-list ref] writes:
I hope I got that right. The order of commits is still entirely
determined by the choice of "any tentative source", but the algorithm
should now stream nicely once the generation numbers are known.
Thanks for an intereseting read.
Even though generation numbers are not always a good subsitute for
timestamps depending on the use (see the other message), the algorithm
to compute "topo-order" can take advantage of the generation numbers
when they are available, as you illustrated in your message.
We may want to think about adding a new field to the commit object,
with a fallback mechanism to an external "cache" that is generated
on-demand.
Once the mechanism is in place so that any caller of parse_commit()
can depend on having a reliable .generation field in the commit
object it receives from the function, we can start updating various
traversal algorithms to take advantage of this new information.