# HG changeset patch # User Gregory Szorc # Date 1537824825 25200 # Node ID d269ddbf54f019624caa4f43fac1b4c5ea5b1d2f # Parent 3e896b51aa5d88e6ec94e34861ab55f0eec86e87 storageutil: move _censoredtext() from revlog This seems like generic functionality we'll want to use from non-revlog storage backends. Differential Revision: https://phab.mercurial-scm.org/D4755 diff -r 3e896b51aa5d -r d269ddbf54f0 mercurial/revlog.py --- a/mercurial/revlog.py Mon Sep 24 14:31:31 2018 -0700 +++ b/mercurial/revlog.py Mon Sep 24 14:33:45 2018 -0700 @@ -126,10 +126,6 @@ ellipsisrawprocessor, ) -def _censoredtext(text): - m, offs = storageutil.parsemeta(text) - return m and "censored" in m - def addflagprocessor(flag, processor): """Register a flag processor on a revision data flag. @@ -1706,7 +1702,7 @@ raise error.RevlogError(_("integrity check failed on %s:%s") % (self.indexfile, pycompat.bytestr(revornode))) except error.RevlogError: - if self._censorable and _censoredtext(text): + if self._censorable and storageutil.iscensoredtext(text): raise error.CensoredNodeError(self.indexfile, node, text) raise diff -r 3e896b51aa5d -r d269ddbf54f0 mercurial/utils/storageutil.py --- a/mercurial/utils/storageutil.py Mon Sep 24 14:31:31 2018 -0700 +++ b/mercurial/utils/storageutil.py Mon Sep 24 14:33:45 2018 -0700 @@ -65,3 +65,7 @@ keys = sorted(meta) metatext = b''.join(b'%s: %s\n' % (k, meta[k]) for k in keys) return b'\x01\n%s\x01\n%s' % (metatext, text) + +def iscensoredtext(text): + meta = parsemeta(text)[0] + return meta and b'censored' in meta