mercurial/pure/parsers.py
changeset 46858 85e3a630cad9
parent 46857 cc65cea90edb
child 46860 1dc86c2a43ce
equal deleted inserted replaced
46857:cc65cea90edb 46858:85e3a630cad9
   241     cls = InlinedIndexObject2 if revlogv2 else InlinedIndexObject
   241     cls = InlinedIndexObject2 if revlogv2 else InlinedIndexObject
   242     return cls(data, inline), (0, data)
   242     return cls(data, inline), (0, data)
   243 
   243 
   244 
   244 
   245 class Index2Mixin(object):
   245 class Index2Mixin(object):
   246     #  6 bytes: offset
   246     index_format = revlog_constants.INDEX_ENTRY_V2.format
   247     #  2 bytes: flags
   247     index_size = revlog_constants.INDEX_ENTRY_V2.size
   248     #  4 bytes: compressed length
       
   249     #  4 bytes: uncompressed length
       
   250     #  4 bytes: base rev
       
   251     #  4 bytes: link rev
       
   252     #  4 bytes: parent 1 rev
       
   253     #  4 bytes: parent 2 rev
       
   254     # 32 bytes: nodeid
       
   255     #  8 bytes: sidedata offset
       
   256     #  4 bytes: sidedata compressed length
       
   257     #  20 bytes: Padding to align to 96 bytes (see RevlogV2Plan wiki page)
       
   258     index_format = b">Qiiiiii20s12xQi20x"
       
   259     index_size = struct.calcsize(index_format)
       
   260     assert index_size == 96, index_size
       
   261     null_item = (0, 0, 0, -1, -1, -1, -1, nullid, 0, 0)
   248     null_item = (0, 0, 0, -1, -1, -1, -1, nullid, 0, 0)
   262 
   249 
   263     def replace_sidedata_info(self, i, sidedata_offset, sidedata_length):
   250     def replace_sidedata_info(self, i, sidedata_offset, sidedata_length):
   264         """
   251         """
   265         Replace an existing index entry's sidedata offset and length with new
   252         Replace an existing index entry's sidedata offset and length with new