[PATCH 1 of 3 manifest-cleanup] manifest: move manifestdict-to-text encoding to manifest class
Siddharth Agarwal
sid at less-broken.com
Thu Oct 9 17:23:26 UTC 2014
On 10/09/2014 06:08 AM, Augie Fackler wrote:
> # HG changeset patch
> # User Augie Fackler <raf at durin42.com>
> # Date 1412794050 14400
> # Wed Oct 08 14:47:30 2014 -0400
> # Node ID 0255f395b1cfd4889711a727b0ce6fa214eef6b2
> # Parent 379c09b0052abc93ebe549d8d97d422f1e1076cf
> manifest: move manifestdict-to-text encoding to manifest class
The series LGTM.
>
> A future patch will introduce a new format, with a new class.
>
> diff --git a/mercurial/manifest.py b/mercurial/manifest.py
> --- a/mercurial/manifest.py
> +++ b/mercurial/manifest.py
> @@ -40,6 +40,14 @@
> def flagsdiff(self, d2):
> return dicthelpers.diff(self._flags, d2._flags, "")
>
> + def text(self):
> + fl = sorted(self)
> + _checkforbidden(fl)
> +
> + hex, flags = revlog.hex, self.flags
> + # if this is changed to support newlines in filenames,
> + # be sure to check the templates/ dir again (especially *-raw.tmpl)
> + return ''.join("%s\0%s%s\n" % (f, hex(self[f]), flags(f)) for f in fl)
>
> def _checkforbidden(l):
> """Check filenames for illegal characters."""
> @@ -220,14 +228,7 @@
> # just encode a fulltext of the manifest and pass that
> # through to the revlog layer, and let it handle the delta
> # process.
> - files = sorted(map)
> - _checkforbidden(files)
> -
> - # if this is changed to support newlines in filenames,
> - # be sure to check the templates/ dir again (especially *-raw.tmpl)
> - hex, flags = revlog.hex, map.flags
> - text = ''.join("%s\0%s%s\n" % (f, hex(map[f]), flags(f))
> - for f in files)
> + text = map.text()
> arraytext = array.array('c', text)
> cachedelta = None
>
> _______________________________________________
> Mercurial-devel mailing list
> Mercurial-devel at selenic.com
> http://selenic.com/mailman/listinfo/mercurial-devel
More information about the Mercurial-devel
mailing list