From: Ingo Molnar Date: Fri, 15 Apr 2005 09:36:49 GMT Subject: Re: Merge with git-pasky II. Message-ID: <20050415093649.GA28077@elte.hu> In-Reply-To: <1113556448.12012.269.camel@baythorne.infradead.org> * David Woodhouse wrote: > 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'. do such cases occur frequently? In the kernel at least it's not too typical. Would it be a problem to go for the simple solution of using (A1B1) as the common ancestor (based on the tree graph), and then to do a 3-way merge of all changes from that point on? Ingo