From: Junio C Hamano Date: Sun, 10 Feb 2008 04:21:50 GMT Subject: Re: Add "--show-all" revision walker flag for debugging Message-ID: <7vd4r54f1d.fsf@gitster.siamese.dyndns.org> In-Reply-To: <7vy79t4fld.fsf@gitster.siamese.dyndns.org> Junio C Hamano writes: > Linus Torvalds 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. Ah, please scratch that comment. I was puzzled but did not understand what you meant by uuid+generation. You are right. If we cannot tell if we are dealing with disconnected history, we would always need to play safe and do the clean-up like what I suggested earlier using merge-base traversal, which could be costly, and we do not want to pay that penalty in a connected history, which should be the normal case. Generation header does not help us detect that case, so it is not useful.