comparison mercurial/manifest.py @ 24956:48583a1e44f3

treemanifest: set requires at repo creation time, ignore config after The very next changeset will start writing one revlog per directory when tree manifests are enabled. That is backwards incompatible, so it requires .hg/requires to be updated. Just like with generaldelta, we want to update .hg/requires only when the repo is created. Updating ..hg/requires is bad for repos on shared disk. Instead, those who do want to upgrade a repo to using treemanifest (or manifestv2, etc) can run hg clone --config experimental.treemanifest repo clone which will create a new repo with the requirement set. Unlike the case of e.g. generaldelta, it will not rewrite the changesets, since tree manifests hash differently.
author Martin von Zweigbergk <martinvonz@google.com>
date Tue, 05 May 2015 08:40:59 -0700
parents d9832a12a06e
children b5052fc73300
comparison
equal deleted inserted replaced
24955:1df233bcb7f6 24956:48583a1e44f3
758 usetreemanifest = False 758 usetreemanifest = False
759 usemanifestv2 = False 759 usemanifestv2 = False
760 opts = getattr(opener, 'options', None) 760 opts = getattr(opener, 'options', None)
761 if opts is not None: 761 if opts is not None:
762 cachesize = opts.get('manifestcachesize', cachesize) 762 cachesize = opts.get('manifestcachesize', cachesize)
763 usetreemanifest = opts.get('usetreemanifest', usetreemanifest) 763 usetreemanifest = opts.get('treemanifest', usetreemanifest)
764 usemanifestv2 = opts.get('manifestv2', usemanifestv2) 764 usemanifestv2 = opts.get('manifestv2', usemanifestv2)
765 self._mancache = util.lrucachedict(cachesize) 765 self._mancache = util.lrucachedict(cachesize)
766 revlog.revlog.__init__(self, opener, "00manifest.i") 766 revlog.revlog.__init__(self, opener, "00manifest.i")
767 self._treeinmem = usetreemanifest 767 self._treeinmem = usetreemanifest
768 self._treeondisk = usetreemanifest 768 self._treeondisk = usetreemanifest