mercurial/revlogutils/constants.py
changeset 48500 c5d6c874766a
parent 48499 52034c42c09d
child 48875 6000f5b25c9b
equal deleted inserted replaced
48499:52034c42c09d 48500:c5d6c874766a
   190 #  4 bytes: parent 2 rev
   190 #  4 bytes: parent 2 rev
   191 # 32 bytes: nodeid
   191 # 32 bytes: nodeid
   192 #  8 bytes: sidedata offset
   192 #  8 bytes: sidedata offset
   193 #  4 bytes: sidedata compressed length
   193 #  4 bytes: sidedata compressed length
   194 #  1 bytes: compression mode (2 lower bit are data_compression_mode)
   194 #  1 bytes: compression mode (2 lower bit are data_compression_mode)
   195 #  27 bytes: Padding to align to 96 bytes (see RevlogV2Plan wiki page)
   195 #  4 bytes: changeset rank (i.e. `len(::REV)`)
   196 INDEX_ENTRY_CL_V2 = struct.Struct(b">Qiiii20s12xQiB27x")
   196 #  23 bytes: Padding to align to 96 bytes (see RevlogV2Plan wiki page)
       
   197 INDEX_ENTRY_CL_V2 = struct.Struct(b">Qiiii20s12xQiBi23x")
   197 assert INDEX_ENTRY_CL_V2.size == 32 * 3, INDEX_ENTRY_CL_V2.size
   198 assert INDEX_ENTRY_CL_V2.size == 32 * 3, INDEX_ENTRY_CL_V2.size
   198 INDEX_ENTRY_V2_IDX_OFFSET = 0
   199 INDEX_ENTRY_V2_IDX_OFFSET = 0
   199 INDEX_ENTRY_V2_IDX_COMPRESSED_LENGTH = 1
   200 INDEX_ENTRY_V2_IDX_COMPRESSED_LENGTH = 1
   200 INDEX_ENTRY_V2_IDX_UNCOMPRESSED_LENGTH = 2
   201 INDEX_ENTRY_V2_IDX_UNCOMPRESSED_LENGTH = 2
   201 INDEX_ENTRY_V2_IDX_PARENT_1 = 3
   202 INDEX_ENTRY_V2_IDX_PARENT_1 = 3
   202 INDEX_ENTRY_V2_IDX_PARENT_2 = 4
   203 INDEX_ENTRY_V2_IDX_PARENT_2 = 4
   203 INDEX_ENTRY_V2_IDX_NODEID = 5
   204 INDEX_ENTRY_V2_IDX_NODEID = 5
   204 INDEX_ENTRY_V2_IDX_SIDEDATA_OFFSET = 6
   205 INDEX_ENTRY_V2_IDX_SIDEDATA_OFFSET = 6
   205 INDEX_ENTRY_V2_IDX_SIDEDATA_COMPRESSED_LENGTH = 7
   206 INDEX_ENTRY_V2_IDX_SIDEDATA_COMPRESSED_LENGTH = 7
   206 INDEX_ENTRY_V2_IDX_COMPRESSION_MODE = 8
   207 INDEX_ENTRY_V2_IDX_COMPRESSION_MODE = 8
       
   208 INDEX_ENTRY_V2_IDX_RANK = 9
   207 
   209 
   208 # revlog index flags
   210 # revlog index flags
   209 
   211 
   210 # For historical reasons, revlog's internal flags were exposed via the
   212 # For historical reasons, revlog's internal flags were exposed via the
   211 # wire protocol and are even exposed in parts of the storage APIs.
   213 # wire protocol and are even exposed in parts of the storage APIs.