[Updated] D9112: changing-files: cache the various property
marmoute (Pierre-Yves David)
phabricator at mercurial-scm.org
Fri Oct 2 13:48:31 UTC 2020
Closed by commit rHGd31483377673: changing-files: cache the various property (authored by marmoute).
This revision was automatically updated to reflect the committed changes.
REPOSITORY
rHG Mercurial
CHANGES SINCE LAST UPDATE
https://phab.mercurial-scm.org/D9112?vs=22981&id=23005
CHANGES SINCE LAST ACTION
https://phab.mercurial-scm.org/D9112/new/
REVISION DETAIL
https://phab.mercurial-scm.org/D9112
AFFECTED FILES
mercurial/metadata.py
CHANGE DETAILS
diff --git a/mercurial/metadata.py b/mercurial/metadata.py
--- a/mercurial/metadata.py
+++ b/mercurial/metadata.py
@@ -69,7 +69,7 @@
and self.copied_from_p2 == other.copied_from_p2
)
- @property
+ @util.propertycache
def added(self):
"""files actively added in the changeset
@@ -83,6 +83,8 @@
return frozenset(self._added)
def mark_added(self, filename):
+ if 'added' in vars(self):
+ del self.added
self._added.add(filename)
self.mark_touched(filename)
@@ -90,7 +92,7 @@
for f in filenames:
self.mark_added(f)
- @property
+ @util.propertycache
def merged(self):
"""files actively merged during a merge
@@ -101,6 +103,8 @@
return frozenset(self._merged)
def mark_merged(self, filename):
+ if 'merged' in vars(self):
+ del self.merged
self._merged.add(filename)
self.mark_touched(filename)
@@ -108,7 +112,7 @@
for f in filenames:
self.mark_merged(f)
- @property
+ @util.propertycache
def removed(self):
"""files actively removed by the changeset
@@ -145,6 +149,8 @@
return frozenset(self._removed)
def mark_removed(self, filename):
+ if 'removed' in vars(self):
+ del self.removed
self._removed.add(filename)
self.mark_touched(filename)
@@ -152,34 +158,40 @@
for f in filenames:
self.mark_removed(f)
- @property
+ @util.propertycache
def touched(self):
"""files either actively modified, added or removed"""
return frozenset(self._touched)
def mark_touched(self, filename):
+ if 'touched' in vars(self):
+ del self.touched
self._touched.add(filename)
def update_touched(self, filenames):
for f in filenames:
self.mark_touched(f)
- @property
+ @util.propertycache
def copied_from_p1(self):
return self._p1_copies.copy()
def mark_copied_from_p1(self, source, dest):
+ if 'copied_from_p1' in vars(self):
+ del self.copied_from_p1
self._p1_copies[dest] = source
def update_copies_from_p1(self, copies):
for dest, source in copies.items():
self.mark_copied_from_p1(source, dest)
- @property
+ @util.propertycache
def copied_from_p2(self):
return self._p2_copies.copy()
def mark_copied_from_p2(self, source, dest):
+ if 'copied_from_p2' in vars(self):
+ del self.copied_from_p2
self._p2_copies[dest] = source
def update_copies_from_p2(self, copies):
To: marmoute, #hg-reviewers, Alphare, pulkit
Cc: mercurial-patches
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mercurial-scm.org/pipermail/mercurial-patches/attachments/20201002/13c3e8ee/attachment-0002.html>
More information about the Mercurial-patches
mailing list