Re: Add "--show-all" revision walker flag for debugging
From: Junio C Hamano <hidden>
Date: 2016-06-15 22:44:12
Linus Torvalds [off-list ref] writes:
The real issue is that it doesn't work. I thought about it, and with multiple roots (which _can_ get merged together) it just isn't something that actually helps. If you couldn't merge across roots, you could have a "uuid+generation header", but the moment you have multiple roots it actually gets quite complex. So scratch the generation header. It's not the answer.
I do not think multiple roots can be helped without going all the way down to the roots, and I think it can be proven.
And I do think that we can do it without it. I'm still thinking about how to do it efficiently, but I think I can get there. I just haven't had the time to sit down and really think it through and try out my ideas yet.
Generation number would on the other hand eliminate the issue of clock skew if heads are connected, and I think it also can be proven. Both proofs need the axiom "there is no loop in the commit ancestry graph", but that is something we already rely on in the merge-base computation.