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