mercurial/copies.py
changeset 30186 f7ed5af31242
parent 30185 e2bfe2d52d7a
child 30188 8a864844d5a0
--- a/mercurial/copies.py	Thu Oct 13 01:26:33 2016 +0200
+++ b/mercurial/copies.py	Thu Oct 13 01:30:14 2016 +0200
@@ -285,10 +285,10 @@
         return fctx
     return util.lrucachefunc(makectx)
 
-def mergecopies(repo, c1, c2, ca):
+def mergecopies(repo, c1, c2, base):
     """
     Find moves and copies between context c1 and c2 that are relevant
-    for merging.
+    for merging. 'base' will be used as the merge base.
 
     Returns four dicts: "copy", "movewithdir", "diverge", and
     "renamedelete".
@@ -329,7 +329,7 @@
 
     m1 = c1.manifest()
     m2 = c2.manifest()
-    ma = ca.manifest()
+    mb = base.manifest()
 
     # gather data from _checkcopies:
     # - diverge = record all diverges in this dict
@@ -346,17 +346,17 @@
             }
 
     # find interesting file sets from manifests
-    addedinm1 = m1.filesnotin(ma)
-    addedinm2 = m2.filesnotin(ma)
+    addedinm1 = m1.filesnotin(mb)
+    addedinm2 = m2.filesnotin(mb)
     u1r, u2r = _computenonoverlap(repo, c1, c2, addedinm1, addedinm2)
     u1u, u2u = u1r, u2r
     bothnew = sorted(addedinm1 & addedinm2)
 
     for f in u1u:
-        _checkcopies(c1, f, m1, m2, ca, limit, data1)
+        _checkcopies(c1, f, m1, m2, base, limit, data1)
 
     for f in u2u:
-        _checkcopies(c2, f, m2, m1, ca, limit, data2)
+        _checkcopies(c2, f, m2, m1, base, limit, data2)
 
     copy = dict(data1['copy'].items() + data2['copy'].items())
     fullcopy = dict(data1['fullcopy'].items() + data2['fullcopy'].items())
@@ -384,8 +384,8 @@
                 'diverge': bothdiverge,
                }
     for f in bothnew:
-        _checkcopies(c1, f, m1, m2, ca, limit, bothdata)
-        _checkcopies(c2, f, m2, m1, ca, limit, bothdata)
+        _checkcopies(c1, f, m1, m2, base, limit, bothdata)
+        _checkcopies(c2, f, m2, m1, base, limit, bothdata)
     for of, fl in bothdiverge.items():
         if len(fl) == 2 and fl[0] == fl[1]:
             copy[fl[0]] = of # not actually divergent, just matching renames