On Thu, 2005-04-14 at 11:36 -0700, Linus Torvalds wrote: > And "merge these two trees" (which works on a _tree_ level) > or "find the common commit" (which works on a _commit_ level)
I suspect that finding the common commit is actually a per-file thing; it's not just something you do for the _commit_ graph, then use for merging each file in the two branches you're trying to merge. Consider a simple repository which contains two files A and B. We start off with the first version of each ('A1B1'), and the owner of each file takes a branch and modifies their own file. There is cross-pulling between the two, and then each modifies the _other's_ file as well as their own... (A1B2)--(A2B2)--(A2'B3) / \ / \ / \ / \ (A1B1) X (...) \ / \ / \ / \ / (A2B1)--(A2B2)--(A3B2') Now, we're trying to merge the two branches. It appears that the most useful common ancestor to use for a three-way merge of file A is the version from tree 'A2B1', while the most useful common ancestor for merging file B is that in 'A1B2'. (I think it's a coincidence that in my example the useful files 'A2' and 'B2' actually do end up in a single tree together at some point.) -- dwmw2 - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html