--- a/mercurial/manifest.py Thu Nov 10 02:13:19 2016 -0800
+++ b/mercurial/manifest.py Thu Nov 10 02:13:19 2016 -0800
@@ -1255,10 +1255,12 @@
self._repo = repo
usetreemanifest = False
+ cachesize = 4
opts = getattr(opener, 'options', None)
if opts is not None:
usetreemanifest = opts.get('treemanifest', usetreemanifest)
+ cachesize = opts.get('manifestcachesize', cachesize)
self._treeinmem = usetreemanifest
self._oldmanifest = repo._constructmanifest()
@@ -1266,15 +1268,9 @@
# A cache of the manifestctx or treemanifestctx for each directory
self._dirmancache = {}
+ self._dirmancache[''] = util.lrucachedict(cachesize)
- # We'll separate this into it's own cache once oldmanifest is no longer
- # used
- self._mancache = self._oldmanifest._mancache
- self._dirmancache[''] = self._mancache
-
- # A future patch makes this use the same config value as the existing
- # mancache
- self.cachesize = 4
+ self.cachesize = cachesize
def __getitem__(self, node):
"""Retrieves the manifest instance for the given node. Throws a