mercurial/obsolete.py
changeset 32689 9933410bf763
parent 32688 2c1400d43fd2
child 32690 3fad59faba8a
equal deleted inserted replaced
32688:2c1400d43fd2 32689:9933410bf763
   437 # mapping to read/write various marker formats
   437 # mapping to read/write various marker formats
   438 # <version> -> (decoder, encoder)
   438 # <version> -> (decoder, encoder)
   439 formats = {_fm0version: (_fm0readmarkers, _fm0encodeonemarker),
   439 formats = {_fm0version: (_fm0readmarkers, _fm0encodeonemarker),
   440            _fm1version: (_fm1readmarkers, _fm1encodeonemarker)}
   440            _fm1version: (_fm1readmarkers, _fm1encodeonemarker)}
   441 
   441 
       
   442 def _readmarkerversion(data):
       
   443     return _unpack('>B', data[0:1])[0]
       
   444 
   442 @util.nogc
   445 @util.nogc
   443 def _readmarkers(data):
   446 def _readmarkers(data):
   444     """Read and enumerate markers from raw data"""
   447     """Read and enumerate markers from raw data"""
   445     off = 0
   448     diskversion = _readmarkerversion(data)
   446     diskversion = _unpack('>B', data[off:off + 1])[0]
   449     off = 1
   447     off += 1
       
   448     if diskversion not in formats:
   450     if diskversion not in formats:
   449         msg = _('parsing obsolete marker: unknown version %r') % diskversion
   451         msg = _('parsing obsolete marker: unknown version %r') % diskversion
   450         raise error.UnknownVersion(msg, version=diskversion)
   452         raise error.UnknownVersion(msg, version=diskversion)
   451     return diskversion, formats[diskversion][0](data, off)
   453     return diskversion, formats[diskversion][0](data, off)
   452 
   454