Mercurial > public > mercurial-scm > hg-stable
diff mercurial/merge.py @ 12008:fad5ed0ff997 stable
merge: move reverse-merge logic out of filemerge (issue2342)
author | Matt Mackall <mpm@selenic.com> |
---|---|
date | Sat, 21 Aug 2010 10:41:29 -0500 |
parents | 7d2aaeea67ed |
children | ce818cf215dc |
line wrap: on
line diff
--- a/mercurial/merge.py Fri Aug 20 17:16:37 2010 -0500 +++ b/mercurial/merge.py Sat Aug 21 10:41:29 2010 -0500 @@ -270,7 +270,12 @@ repo.ui.debug("preserving %s for resolve of %s\n" % (f, fd)) fcl = wctx[f] fco = mctx[f2] - fca = fcl.ancestor(fco, actx) or repo.filectx(f, fileid=nullrev) + if mctx == actx: # backwards, use working dir parent as ancestor + fca = fcl.parents()[0] + else: + fca = fcl.ancestor(fco, actx) + if not fca: + fca = repo.filectx(f, fileid=nullrev) ms.add(fcl, fco, fca, fd, flags) if f != fd and move: moves.append(f)