diff --git a/mercurial/copies.py b/mercurial/copies.py
index 15ca691f90bee2345608d1bc4d01f4711df4ed37_bWVyY3VyaWFsL2NvcGllcy5weQ==..29a9bf0873f9b3600a2c58e2d3500b8055b57ac1_bWVyY3VyaWFsL2NvcGllcy5weQ== 100644
--- a/mercurial/copies.py
+++ b/mercurial/copies.py
@@ -405,7 +405,5 @@
                 # changeset based copies. It was made without regards with
                 # potential filelog related behavior.
                 if parent == 1:
-                    _merge_copies_dict(
-                        othercopies, newcopies, isancestor, changes
-                    )
+                    minor, major = othercopies, newcopies
                 else:
@@ -411,8 +409,7 @@
                 else:
-                    _merge_copies_dict(
-                        newcopies, othercopies, isancestor, changes
-                    )
-                    all_copies[c] = newcopies
+                    minor, major = newcopies, othercopies
+                _merge_copies_dict(minor, major, isancestor, changes)
+                all_copies[c] = minor
 
     final_copies = {}
     for dest, (tt, source) in all_copies[targetrev].items():