On Mon, 27 Mar 2006, Petr Baudis wrote: > Dear diary, on Mon, Mar 27, 2006 at 12:22:04AM CEST, I got a letter > where Linus Torvalds <torvalds@xxxxxxxx> said that... > > So commit "6" is uninteresting, and commit "5" will never even be > > looked at, since we decided that the history of "d" comes from the > > first parent with the same contents. > > And this is the thing I have a problem with - this does not make much > sense to me, why can't we just follow all parents instead of arbitrarily > choosing one of them? Sure, you can. It's _usually_ a huge waste of time, though. Why would you want to do more work than you need, since clearly the other parent was _not_ interesting from the standpoint of the question "where did this content come from"? > > No, it's the expected output just because you expected merges to always > > show up. Merges get ignored if any of the parents have the same content > > already. > > Eek. Can I avoid that? What was the reason for choosing this behavior? Huge efficiency gains. Lookie here. Do gitk -- rev-list.c on the git archive with the current git-rev-list, and with your hacked-up version. And tell me my version isn't a hell of a lot better. Because, I guarantee you, it is. We're just not _interested_ in all those merges that didn't actually make any difference. Read up on what modern neuro-science thinks about the human brain, and what a lot of it is about. It's about ignoring irrelevant information. The ability to throw stuff out that isn't interesting is the _real_ basis of true intelligence. I'd rather have git do the _intelligent_ history, than show history that isn't relevant and workign harder doing so. Linus - : send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html