changectx: extract explicit computechangesetfilesadded method from context
authorPierre-Yves David <pierre-yves.david@octobus.net>
Wed, 12 Jun 2019 13:42:22 +0100
changeset 42710 87c4cd89b539
parent 42707 3cffc7bbec26
child 42711 53c07f08fea1
changectx: extract explicit computechangesetfilesadded method from context Right now, the logic around changeset centric added files data are buried into the "changectx" code. We extract this code in a dedicated method (in the scmutil module) for clarity. This clarity will help to explicitly compute and caches these data in the future.
mercurial/context.py
mercurial/scmutil.py
--- a/mercurial/context.py	Tue Aug 06 03:17:40 2019 +0200
+++ b/mercurial/context.py	Wed Jun 12 13:42:22 2019 +0100
@@ -459,12 +459,7 @@
             (source == 'compatibility' and
              self._changeset.filesadded is not None)):
             return self._changeset.filesadded or []
-
-        added = []
-        for f in self.files():
-            if not any(f in p for p in self.parents()):
-                added.append(f)
-        return added
+        return scmutil.computechangesetfilesadded(self)
     def filesremoved(self):
         source = self._repo.ui.config('experimental', 'copies.read-from')
         if (source == 'changeset-only' or
--- a/mercurial/scmutil.py	Tue Aug 06 03:17:40 2019 +0200
+++ b/mercurial/scmutil.py	Wed Jun 12 13:42:22 2019 +0100
@@ -1984,3 +1984,12 @@
                      "ancestors(head() and not bookmark(%s)) - "
                      "ancestors(bookmark() and not bookmark(%s))",
                      mark, mark, mark)
+
+def computechangesetfilesadded(ctx):
+    """return the list of files added in a changeset
+    """
+    added = []
+    for f in ctx.files():
+        if not any(f in p for p in ctx.parents()):
+            added.append(f)
+    return added