copies: pass changectx instead of manifest to _computenonoverlap
authorDurham Goode <durham@fb.com>
Fri, 03 Apr 2015 15:18:34 -0700
changeset 24625 2cebf17c0fcc
parent 24624 6f0e6fa9fdd7
child 24626 e767f5aba810
copies: pass changectx instead of manifest to _computenonoverlap The _computenonoverlap function takes two manifests to allow extensions to hook in and read the manifest nodes produced by the function. The remotefilelog extension actually needs the entire changectx instead (which includes the manifest) so it can prefetch the subset of files necessary for a sparse checkout (and the sparse checkout depends on which commit is being accessed, hence the need for the changectx). I have tests in the remotefilelog extension that cover this.
mercurial/copies.py
--- a/mercurial/copies.py	Mon Apr 06 10:46:44 2015 -0700
+++ b/mercurial/copies.py	Fri Apr 03 15:18:34 2015 -0700
@@ -209,12 +209,12 @@
         return _backwardrenames(x, y)
     return _chain(x, y, _backwardrenames(x, a), _forwardcopies(a, y))
 
-def _computenonoverlap(repo, m1, m2, addedinm1, addedinm2):
-    """Computes, based on addedinm1 and addedinm2, the files exclusive to m1
-    and m2. This is its own function so extensions can easily wrap this call
+def _computenonoverlap(repo, c1, c2, addedinm1, addedinm2):
+    """Computes, based on addedinm1 and addedinm2, the files exclusive to c1
+    and c2. This is its own function so extensions can easily wrap this call
     to see what files mergecopies is about to process.
 
-    Even though m1 and m2 are not used in this function, they are useful in
+    Even though c1 and c2 are not used in this function, they are useful in
     other extensions for being able to read the file nodes of the changed files.
     """
     u1 = sorted(addedinm1 - addedinm2)
@@ -310,7 +310,7 @@
 
     addedinm1 = m1.filesnotin(ma)
     addedinm2 = m2.filesnotin(ma)
-    u1, u2 = _computenonoverlap(repo, m1, m2, addedinm1, addedinm2)
+    u1, u2 = _computenonoverlap(repo, c1, c2, addedinm1, addedinm2)
 
     for f in u1:
         ctx = setupctx(c1)