hgext/convert/hg.py
changeset 27718 6e1fba0fe453
parent 27717 5deff127286f
child 27719 7ce8a13b8d77
--- a/hgext/convert/hg.py	Sat Jan 09 21:42:48 2016 -0800
+++ b/hgext/convert/hg.py	Sun Jan 10 21:07:34 2016 -0800
@@ -507,6 +507,10 @@
         except error.LookupError:
             return None, None
 
+    def _changedfiles(self, ctx1, ctx2):
+        m, a, r = ctx1.status(ctx2)[:3]
+        return (m + a, r)
+
     def getchanges(self, rev, full):
         ctx = self._changectx(rev)
         parents = self._parents(ctx)
@@ -514,12 +518,12 @@
             files = copyfiles = ctx.manifest()
         if parents:
             if self._changescache[0] == rev:
-                m, a, r = self._changescache[1]
+                ma, r = self._changescache[1]
             else:
-                m, a, r = self.repo.status(parents[0].node(), ctx.node())[:3]
+                ma, r = self._changedfiles(parents[0], ctx)
             if not full:
-                files = m + a + r
-            copyfiles = m + a
+                files = ma + r
+            copyfiles = ma
         # _getcopies() is also run for roots and before filtering so missing
         # revlogs are detected early
         copies = self._getcopies(ctx, parents, copyfiles)
@@ -582,16 +586,16 @@
         parents = self._parents(ctx)
         if not parents and i is None:
             i = 0
-            changes = [], ctx.manifest().keys(), []
+            ma, r = ctx.manifest().keys(), []
         else:
             i = i or 0
-            changes = self.repo.status(parents[i].node(), ctx.node())[:3]
-        changes = [[f for f in l if f not in self.ignored] for l in changes]
+            ma, r = self._changedfiles(parents[i], ctx)
+        ma, r = [[f for f in l if f not in self.ignored] for l in (ma, r)]
 
         if i == 0:
-            self._changescache = (rev, changes)
+            self._changescache = (rev, (ma, r))
 
-        return changes[0] + changes[1] + changes[2]
+        return ma + r
 
     def converted(self, rev, destrev):
         if self.convertfp is None: