comparison mercurial/utils/storageutil.py @ 39880:1b65fb4d43d6

storageutil: new function for extracting metadata-less content from text Other storage backends will want to do this. I'm not concerned about Python function call overhead because I expect self.revision() to dwarf the function call overhead time, since self.revision() requires multiple function calls and may involve decompression in the common case. Differential Revision: https://phab.mercurial-scm.org/D4756
author Gregory Szorc <gregory.szorc@gmail.com>
date Mon, 24 Sep 2018 14:54:28 -0700
parents d269ddbf54f0
children d63153611ed5
comparison
equal deleted inserted replaced
39879:d269ddbf54f0 39880:1b65fb4d43d6
67 return b'\x01\n%s\x01\n%s' % (metatext, text) 67 return b'\x01\n%s\x01\n%s' % (metatext, text)
68 68
69 def iscensoredtext(text): 69 def iscensoredtext(text):
70 meta = parsemeta(text)[0] 70 meta = parsemeta(text)[0]
71 return meta and b'censored' in meta 71 return meta and b'censored' in meta
72
73 def filtermetadata(text):
74 """Extract just the revision data from source text.
75
76 Returns ``text`` unless it has a metadata header, in which case we return
77 a new buffer without hte metadata.
78 """
79 if not text.startswith(b'\x01\n'):
80 return text
81
82 offset = text.index(b'\x01\n', 2)
83 return text[offset + 2:]