# HG changeset patch # User Martin von Zweigbergk # Date 1428904878 25200 # Node ID 055b3cbe6c5754d4ed0729e116583449a0296cc7 # Parent 4ea521b3c554d1317b1ae8b74375a4ea9f8d56df treemanifest: extract parse method from constructor When we start to lazily load submanifests, it will be useful to be able to create an treemanifest instance before manifest data gets parsed into it. To prepare for this, extract the parsing code from treemanifest's constructor to a separate method. diff -r 4ea521b3c554 -r 055b3cbe6c57 mercurial/manifest.py --- a/mercurial/manifest.py Sun Apr 12 14:37:55 2015 -0700 +++ b/mercurial/manifest.py Sun Apr 12 23:01:18 2015 -0700 @@ -448,10 +448,7 @@ # Using _lazymanifest here is a little slower than plain old dicts self._files = {} self._flags = {} - for f, n, fl in _parse(text): - self[f] = n - if fl: - self.setflag(f, fl) + self.parse(text) def _subpath(self, path): return self._dir + path @@ -740,6 +737,12 @@ _diff(self, m2) return result + def parse(self, text): + for f, n, fl in _parse(text): + self[f] = n + if fl: + self.setflag(f, fl) + def text(self, usemanifestv2=False): """Get the full data of this manifest as a bytestring.""" flags = self.flags