Mercurial > hg-stable
changeset 3729:581d20773326
merge: add copied hash to simplify copy logic
author | Matt Mackall <mpm@selenic.com> |
---|---|
date | Thu, 30 Nov 2006 17:36:33 -0600 |
parents | a32b4b930079 |
children | d377f8d25662 |
files | mercurial/merge.py |
diffstat | 1 files changed, 4 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/merge.py Thu Nov 30 17:36:33 2006 -0600 +++ b/mercurial/merge.py Thu Nov 30 17:36:33 2006 -0600 @@ -176,6 +176,7 @@ backwards = (pa == p2) action = [] copy = {} + copied = {} def fmerge(f, f2=None, fa=None): """merge executable flags""" @@ -217,6 +218,7 @@ act("update permissions", "e", f, m2.execf(f)) elif f in copy: f2 = copy[f] + copied[f2] = True if f in ma: # case 3,20 A/B/A act("remote moved to " + f2, "m", f, f2, f2, fmerge(f, f2, f), True) @@ -245,10 +247,10 @@ continue if f in m1: continue + if f in copied: + continue if f in copy: f2 = copy[f] - if f2 not in m2: # already seen - continue # rename case 1, A/A,B/A act("remote copied to " + f, "m", f2, f, f, fmerge(f2, f, f2), False)