D1338: dirstate: clear map cached properties when clearing the map
mbthomas (Mark Thomas)
phabricator at mercurial-scm.org
Wed Nov 8 17:31:00 UTC 2017
mbthomas created this revision.
Herald added a subscriber: mercurial-devel.
Herald added a reviewer: hg-reviewers.
REVISION SUMMARY
dirstatemap.clear should remove all record of the files in the map. This
includes removing caches of values derived from these.
REPOSITORY
rHG Mercurial
REVISION DETAIL
https://phab.mercurial-scm.org/D1338
AFFECTED FILES
mercurial/dirstate.py
CHANGE DETAILS
diff --git a/mercurial/dirstate.py b/mercurial/dirstate.py
--- a/mercurial/dirstate.py
+++ b/mercurial/dirstate.py
@@ -1226,6 +1226,11 @@
self._map.clear()
self.copymap.clear()
self.setparents(nullid, nullid)
+ util.clearcachedproperty(self, "dirs")
+ util.clearcachedproperty(self, "filefoldmap")
+ util.clearcachedproperty(self, "dirfoldmap")
+ util.clearcachedproperty(self, "nonnormalset")
+ util.clearcachedproperty(self, "otherparentset")
def iteritems(self):
return self._map.iteritems()
To: mbthomas, #hg-reviewers
Cc: mercurial-devel
More information about the Mercurial-devel
mailing list