From: Fredrik Kuivinen Date: Tue, 08 Nov 2005 21:03:32 GMT Subject: Re: Expected Behavior? Message-ID: <20051108210332.GB23265@c165.ib.student.liu.se> In-Reply-To: <7vwtjjllw4.fsf@assigned-by-dhcp.cox.net> On Mon, Nov 07, 2005 at 10:00:11PM -0800, Junio C Hamano wrote: > Jon Loeliger writes: > > > That is, after the merge, file3 appears to have simply kept > > the contents of the current, master branch. Why wasn't the > > dev branch represented here? > > > > I _almost_ think I get it, and then *poof*... > > Automerge completely punted for this path, and at this point, it > is still unmerged: > > ------------ > $ git ls-files --unmerged > 100644 c4da0eb.... 2 file3 > 100644 fbc2aa4.... 3 file3 > ------------ > > Three-way "git-read-tree -m -u O A B" (O is for old, A is ours > and B is hers) puts O in stage1, A in stage2 and B in stage3. > This path did not exist in O so we only have them in stage2 and > stage3. You could compare the stages like this: > Jon: You could try to this merge with the recursive merge strategy (git merge -s recursive 'merge message' master dev) If you do, you _should_ get something like: CONFLICT (add/add): File file3 added non-identically in both branches. Adding as file3_master and file3_dev instead. You will then end up with file3_master and file3_dev in your working tree, which corresponds to file3 in the master branch and file3 in the dev branch, respectively. - Fredrik