Comments
Patch
@@ -567,7 +567,7 @@ def perfmanifest(ui, repo, rev, **opts):
t = ctx.manifestnode()
def d():
repo.manifest.clearcaches()
- repo.manifest.read(t)
+ repo.manifestlog[t].read()
timer(d)
fm.end()
@@ -1660,7 +1660,7 @@ class queue(object):
# caching against the next repo.status call
mm, aa, dd = repo.status(patchparent, top)[:3]
changes = repo.changelog.read(top)
- man = repo.manifest.read(changes[0])
+ man = repo.manifestlog[changes[0]].read()
aaa = aa[:]
matchfn = scmutil.match(repo[None], pats, opts)
# in short mode, we only diff the files included in the
@@ -1594,33 +1594,6 @@ class manifest(manifestrevlog):
self._dirlogcache)
return self._dirlogcache[dir]
- def read(self, node):
- if node == revlog.nullid:
- return self._newmanifest() # don't upset local cache
- if node in self._mancache:
- 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)
- def readsubtree(dir, subm):
- return self.dirlog(dir).read(subm)
- m = self._newmanifest()
- m.read(gettext, readsubtree)
- m.setnode(node)
- arraytext = None
- else:
- text = self.revision(node)
- m = self._newmanifest(text)
- arraytext = array.array('c', text)
- self._mancache[node] = m
- if arraytext is not None:
- self.fulltextcache[node] = arraytext
- return m
-
def clearcaches(self):
super(manifest, self).clearcaches()
self._mancache.clear()