Mercurial > public > mercurial-scm > hg
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:] |