# HG changeset patch # User Durham Goode # Date 2016-08-30 01:02:09 # Node ID bb3281b3fcaaab155fb435d47bcf53cbe117a003 # Parent 4fb4fc331699cad79f4f3735713386102ce4153a manifest: make uses of _mancache aware of contexts In a future patch we will change manifestctx and treemanifestctx to no longer derive from manifestdict and treemanifest, respectively. This means that consumers of the _mancache will now need to be aware of the different between the two, until we get rid of the manifest entirely and the _mancache becomes only filled with ctxs. diff --git a/mercurial/bundlerepo.py b/mercurial/bundlerepo.py --- a/mercurial/bundlerepo.py +++ b/mercurial/bundlerepo.py @@ -204,8 +204,8 @@ class bundlemanifest(bundlerevlog, manif if isinstance(node, int): node = self.node(node) - if node in self._mancache: - result = self._mancache[node].text() + if node in self.fulltextcache: + result = self.fulltextcache[node].tostring() else: result = manifest.manifest.revision(self, nodeorrev) return result diff --git a/mercurial/manifest.py b/mercurial/manifest.py --- a/mercurial/manifest.py +++ b/mercurial/manifest.py @@ -1130,7 +1130,11 @@ class manifest(manifestrevlog): if node == revlog.nullid: return self._newmanifest() # don't upset local cache if node in self._mancache: - return self._mancache[node] + cached = self._mancache[node] + if (isinstance(cached, manifestctx) or + isinstance(cached, treemanifestctx)): + cached = cached.read() + return cached if self._treeondisk: def gettext(): return self.revision(node)