mercurial/copies.py
changeset 43257 675c776fbcd1
parent 43256 00de32aa834e
child 43297 8a2925265402
--- a/mercurial/copies.py	Tue Oct 15 18:42:03 2019 +0200
+++ b/mercurial/copies.py	Wed Oct 02 17:53:47 2019 -0400
@@ -190,12 +190,25 @@
     cl = repo.changelog
     parents = cl.parentrevs
 
-    def revinfo(rev):
-        p1, p2 = parents(rev)
-        ctx = repo[rev]
-        p1copies, p2copies = ctx._copies
-        removed = ctx.filesremoved()
-        return p1, p2, p1copies, p2copies, removed
+    if repo.filecopiesmode == b'changeset-sidedata':
+        changelogrevision = cl.changelogrevision
+
+        def revinfo(rev):
+            p1, p2 = parents(rev)
+            c = changelogrevision(rev)
+            p1copies = c.p1copies
+            p2copies = c.p2copies
+            removed = c.filesremoved
+            return p1, p2, p1copies, p2copies, removed
+
+    else:
+
+        def revinfo(rev):
+            p1, p2 = parents(rev)
+            ctx = repo[rev]
+            p1copies, p2copies = ctx._copies
+            removed = ctx.filesremoved()
+            return p1, p2, p1copies, p2copies, removed
 
     return revinfo