diff --git a/mercurial/copies.py b/mercurial/copies.py
index b6b2849b61153ad9d72c5d2de489bb4286cc4921_bWVyY3VyaWFsL2NvcGllcy5weQ==..d7e718ca002ff490b151f2c7279341c72e804ecd_bWVyY3VyaWFsL2NvcGllcy5weQ== 100644
--- a/mercurial/copies.py
+++ b/mercurial/copies.py
@@ -408,8 +408,8 @@
                     minor, major = othercopies, newcopies
                 else:
                     minor, major = newcopies, othercopies
-                _merge_copies_dict(minor, major, isancestor, changes)
-                all_copies[c] = minor
+                copies = _merge_copies_dict(minor, major, isancestor, changes)
+                all_copies[c] = copies
 
     final_copies = {}
     for dest, (tt, source) in all_copies[targetrev].items():
@@ -428,6 +428,8 @@
 
     - `ismerged(path)`: callable return True if `path` have been merged in the
                         current revision,
+
+    return the resulting dict (in practice, the "minor" object, updated)
     """
     for dest, value in major.items():
         other = minor.get(dest)
@@ -461,6 +463,7 @@
                     minor[dest] = value
                 elif isancestor(other_tt, new_tt):
                     minor[dest] = value
+    return minor
 
 
 def _revinfo_getter_extra(repo):