Mercurial > hg
changeset 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 | c6b1be675d3c |
children | b20211b307b3 |
files | mercurial/filemerge.py mercurial/merge.py |
diffstat | 2 files changed, 6 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/filemerge.py Fri Aug 20 17:16:37 2010 -0500 +++ b/mercurial/filemerge.py Sat Aug 21 10:41:29 2010 -0500 @@ -138,9 +138,6 @@ if not fco.cmp(fcd.data()): # files identical? return None - if fca == fco: # backwards, use working dir parent as ancestor - fca = fcd.parents()[0] - ui = repo.ui fd = fcd.path() binary = isbin(fcd) or isbin(fco) or isbin(fca)
--- 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)