diff --git a/mercurial/copies.py b/mercurial/copies.py --- a/mercurial/copies.py +++ b/mercurial/copies.py @@ -285,7 +285,7 @@ def mergecopies(repo, c1, c2, ca): diverge2 = set() for of, fl in diverge.items(): - if len(fl) == 1 or of in c2: + if len(fl) == 1 or of in c1 or of in c2: del diverge[of] # not actually divergent, or not a rename else: diverge2.update(fl) # reverse map for below diff --git a/tests/test-rename-merge1.t b/tests/test-rename-merge1.t --- a/tests/test-rename-merge1.t +++ b/tests/test-rename-merge1.t @@ -95,9 +95,6 @@ We'd rather not warn on divergent rename $ hg up c761c6948de0 1 files updated, 0 files merged, 2 files removed, 0 files unresolved $ hg up - note: possible conflict - b was renamed multiple times to: - b3 - b4 2 files updated, 0 files merged, 1 files removed, 0 files unresolved Check for issue2642