obsstore: move marker version reading to a separate function
authorJun Wu <quark@fb.com>
Fri, 02 Jun 2017 19:34:56 -0700
changeset 32689 9933410bf763
parent 32688 2c1400d43fd2
child 32690 3fad59faba8a
obsstore: move marker version reading to a separate function This allows us to read marker version without reading markers.
mercurial/obsolete.py
--- a/mercurial/obsolete.py	Fri Jun 02 19:32:27 2017 -0700
+++ b/mercurial/obsolete.py	Fri Jun 02 19:34:56 2017 -0700
@@ -439,12 +439,14 @@
 formats = {_fm0version: (_fm0readmarkers, _fm0encodeonemarker),
            _fm1version: (_fm1readmarkers, _fm1encodeonemarker)}
 
+def _readmarkerversion(data):
+    return _unpack('>B', data[0:1])[0]
+
 @util.nogc
 def _readmarkers(data):
     """Read and enumerate markers from raw data"""
-    off = 0
-    diskversion = _unpack('>B', data[off:off + 1])[0]
-    off += 1
+    diskversion = _readmarkerversion(data)
+    off = 1
     if diskversion not in formats:
         msg = _('parsing obsolete marker: unknown version %r') % diskversion
         raise error.UnknownVersion(msg, version=diskversion)