diff --git a/mercurial/manifest.py b/mercurial/manifest.py --- a/mercurial/manifest.py +++ b/mercurial/manifest.py @@ -957,6 +957,13 @@ class manifestlog(object): def __init__(self, opener, repo): self._repo = repo + usetreemanifest = False + + opts = getattr(opener, 'options', None) + if opts is not None: + usetreemanifest = opts.get('treemanifest', usetreemanifest) + self._treeinmem = usetreemanifest + # We'll separate this into it's own cache once oldmanifest is no longer # used self._mancache = repo.manifest._mancache @@ -965,13 +972,6 @@ class manifestlog(object): def _revlog(self): return self._repo.manifest - @property - def _oldmanifest(self): - # _revlog is the same as _oldmanifest right now, but we eventually want - # to delete _oldmanifest while still allowing manifestlog to access the - # revlog specific apis. - return self._repo.manifest - def __getitem__(self, node): """Retrieves the manifest instance for the given node. Throws a KeyError if not found. @@ -984,7 +984,7 @@ class manifestlog(object): isinstance(cachemf, treemanifestctx)): return cachemf - if self._oldmanifest._treeinmem: + if self._treeinmem: m = treemanifestctx(self._revlog, '', node) else: m = manifestctx(self._revlog, node)