changectx: extract explicit computechangesetfilesremoved method from context
Right now, the logic around changeset centric removed 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.
--- a/mercurial/context.py Wed Jun 12 13:42:22 2019 +0100
+++ b/mercurial/context.py Wed Jun 12 13:42:52 2019 +0100
@@ -466,12 +466,7 @@
(source == 'compatibility' and
self._changeset.filesremoved is not None)):
return self._changeset.filesremoved or []
-
- removed = []
- for f in self.files():
- if f not in self:
- removed.append(f)
- return removed
+ return scmutil.computechangesetfilesremoved(self)
@propertycache
def _copies(self):
--- a/mercurial/scmutil.py Wed Jun 12 13:42:22 2019 +0100
+++ b/mercurial/scmutil.py Wed Jun 12 13:42:52 2019 +0100
@@ -1993,3 +1993,12 @@
if not any(f in p for p in ctx.parents()):
added.append(f)
return added
+
+def computechangesetfilesremoved(ctx):
+ """return the list of files removed in a changeset
+ """
+ removed = []
+ for f in ctx.files():
+ if f not in ctx:
+ removed.append(f)
+ return removed