diff --git a/mercurial/merge.py b/mercurial/merge.py index 4b79e92a5ef8dcb02d2266e6f1c3c94ee90db2c7_bWVyY3VyaWFsL21lcmdlLnB5..58e7ee23ddbd2e90ce4a256a2f2d182c03d0b73e_bWVyY3VyaWFsL21lcmdlLnB5 100644 --- a/mercurial/merge.py +++ b/mercurial/merge.py @@ -817,6 +817,22 @@ args = (f, f, None, False, pa.node()) msg = b'both created' mresult.addfile(f, mergestatemod.ACTION_MERGE, args, msg) + elif f in branch_copies1.copy: + fa = branch_copies1.copy[f] + mresult.addfile( + f, + mergestatemod.ACTION_MERGE, + (f, fa, fa, False, pa.node()), + b'local replaced from %s' % fa, + ) + elif f in branch_copies2.copy: + fa = branch_copies2.copy[f] + mresult.addfile( + f, + mergestatemod.ACTION_MERGE, + (fa, f, fa, False, pa.node()), + b'other replaced from %s' % fa, + ) else: a = ma[f] fla = ma.flags(f) diff --git a/tests/test-copies.t b/tests/test-copies.t index 4b79e92a5ef8dcb02d2266e6f1c3c94ee90db2c7_dGVzdHMvdGVzdC1jb3BpZXMudA==..58e7ee23ddbd2e90ce4a256a2f2d182c03d0b73e_dGVzdHMvdGVzdC1jb3BpZXMudA== 100644 --- a/tests/test-copies.t +++ b/tests/test-copies.t @@ -496,8 +496,9 @@ 1 files updated, 0 files merged, 0 files removed, 1 files unresolved use 'hg resolve' to retry unresolved file merges or 'hg merge --abort' to abandon [1] -BROKEN: should be "modified" +This should ideally be "modified", but we will probably not be able to fix +that in the filelog case. $ cat y original #else $ hg merge 2 @@ -500,6 +501,7 @@ $ cat y original #else $ hg merge 2 - 1 files updated, 0 files merged, 0 files removed, 0 files unresolved + merging x and y to y + 0 files updated, 1 files merged, 0 files removed, 0 files unresolved (branch merge, don't forget to commit) @@ -505,3 +507,2 @@ (branch merge, don't forget to commit) -BROKEN: should be "modified" $ cat y @@ -507,5 +508,5 @@ $ cat y - original + modified #endif Same as above, but in the opposite direction #if filelog @@ -523,5 +524,6 @@ #else $ hg co -qC 2 $ hg merge 3 - 0 files updated, 0 files merged, 0 files removed, 0 files unresolved + merging y and x to y + 0 files updated, 1 files merged, 0 files removed, 0 files unresolved (branch merge, don't forget to commit) @@ -527,3 +529,2 @@ (branch merge, don't forget to commit) -BROKEN: should be "modified" $ cat y @@ -529,5 +530,5 @@ $ cat y - original + modified #endif Create x and y, then rename x to z on one side of merge, and rename y to z and