--- 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