[PATCH 03 of 10] manifest: move clearcaches to manifestlog

Durham Goode durham at fb.com
Wed Nov 9 14:31:17 EST 2016


# HG changeset patch
# User Durham Goode <durham at fb.com>
# Date 1478682487 28800
#      Wed Nov 09 01:08:07 2016 -0800
# Node ID 34c7fe4045dd6826261988d2cbd843a78572d5db
# Parent  e216afb71e177fe87ce9c3204d287ef018b49ba7
manifest: move clearcaches to manifestlog

This is part of removing all functionality from manifest.manifest so we can
delete the class entirely.

diff --git a/contrib/perf.py b/contrib/perf.py
--- a/contrib/perf.py
+++ b/contrib/perf.py
@@ -566,7 +566,7 @@ def perfmanifest(ui, repo, rev, **opts):
     ctx = scmutil.revsingle(repo, rev, rev)
     t = ctx.manifestnode()
     def d():
-        repo.manifest.clearcaches()
+        repo.manifestlog.clearcaches()
         repo.manifestlog[t].read()
     timer(d)
     fm.end()
diff --git a/mercurial/manifest.py b/mercurial/manifest.py
--- a/mercurial/manifest.py
+++ b/mercurial/manifest.py
@@ -1322,6 +1322,10 @@ class manifestlog(object):
             mancache[node] = m
         return m
 
+    def clearcaches(self):
+        self._dirmancache.clear()
+        self._revlog.clearcaches()
+
 class memmanifestctx(object):
     def __init__(self, repo):
         self._repo = repo
@@ -1593,7 +1597,3 @@ class manifest(manifestrevlog):
             self._dirlogcache[dir] = manifest(self.opener, dir,
                                               self._dirlogcache)
         return self._dirlogcache[dir]
-
-    def clearcaches(self):
-        super(manifest, self).clearcaches()
-        self._mancache.clear()


More information about the Mercurial-devel mailing list