On 9/14/16 10:58 PM, Martin von Zweigbergk wrote:
On Wed, Sep 14, 2016 at 4:04 PM, Durham Goode <dur...@fb.com> wrote:
# HG changeset patch
# User Durham Goode <dur...@fb.com>
# Date 1473893509 25200
#      Wed Sep 14 15:51:49 2016 -0700
# Node ID a68f73ff397c439410395363049a0679a847b425
# Parent  459cbb3804144a4cabb6622b6d66616cadd35ade
manifest: move treeinmem onto manifestlog

A previous patched moved all the serialization related options onto
manifestrevlog (since it is responsible for serialization). Let's move the
treeinmem option on manifestlog, since it is responsible for materialization
decisions. This reduces the number of dependencies manifestlog has on the old
manifest type as well, so we can eventually make them completely independent of
each other.

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
@@ -984,7 +991,7 @@ class manifestlog(object):
                  isinstance(cachemf, treemanifestctx)):
                  return cachemf

-        if self._oldmanifest._treeinmem:
Can _oldmanifest be removed in this patch?
Yea, I guess we could. It gets removed later down the series anyway (when we get rid of the _revlog property). I can delete it here if you want though.
_______________________________________________
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel

Reply via email to