Patchwork [03,of,10] manifest: move clearcaches to manifestlog

login
register
mail settings
Submitter Durham Goode
Date Nov. 9, 2016, 7:31 p.m.
Message ID <34c7fe4045dd68262619.1478719877@dev111.prn1.facebook.com>
Download mbox | patch
Permalink /patch/17421/
State Accepted
Headers show

Comments

Durham Goode - Nov. 9, 2016, 7:31 p.m.
# HG changeset patch
# User Durham Goode <durham@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.

Patch

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