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 [off-list ref] said that...
quoted
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"?
quoted
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