mercurial/context.py
changeset 43021 008e74b34fb7
parent 42859 2b869a515ba6
child 43022 15badd621825
--- a/mercurial/context.py	Thu Sep 26 23:43:32 2019 +0200
+++ b/mercurial/context.py	Fri Sep 27 00:06:02 2019 +0200
@@ -453,13 +453,20 @@
         modified.difference_update(self.filesadded())
         modified.difference_update(self.filesremoved())
         return sorted(modified)
+
     def filesadded(self):
         source = self._repo.ui.config('experimental', 'copies.read-from')
-        if (source == 'changeset-only' or
-            (source == 'compatibility' and
-             self._changeset.filesadded is not None)):
-            return self._changeset.filesadded or []
-        return scmutil.computechangesetfilesadded(self)
+        filesadded = self._changeset.filesadded
+        if source == 'changeset-only':
+            if filesadded is None:
+                filesadded = []
+        elif source == 'compatibility':
+            if filesadded is None:
+                filesadded = scmutil.computechangesetfilesadded(self)
+        else:
+            filesadded = scmutil.computechangesetfilesadded(self)
+        return filesadded
+
     def filesremoved(self):
         source = self._repo.ui.config('experimental', 'copies.read-from')
         if (source == 'changeset-only' or