Show More
@@ -243,21 +243,8 b' def parse_index2(data, inline, revlogv2=' | |||
|
243 | 243 | |
|
244 | 244 | |
|
245 | 245 | class Index2Mixin(object): |
|
246 | # 6 bytes: offset | |
|
247 | # 2 bytes: flags | |
|
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 | |
|
246 | index_format = revlog_constants.INDEX_ENTRY_V2.format | |
|
247 | index_size = revlog_constants.INDEX_ENTRY_V2.size | |
|
261 | 248 | null_item = (0, 0, 0, -1, -1, -1, -1, nullid, 0, 0) |
|
262 | 249 | |
|
263 | 250 | def replace_sidedata_info(self, i, sidedata_offset, sidedata_length): |
@@ -43,6 +43,7 b' from .revlogutils.constants import (' | |||
|
43 | 43 | FLAG_INLINE_DATA, |
|
44 | 44 | INDEX_ENTRY_V0, |
|
45 | 45 | INDEX_ENTRY_V1, |
|
46 | INDEX_ENTRY_V2, | |
|
46 | 47 | REVLOGV0, |
|
47 | 48 | REVLOGV1, |
|
48 | 49 | REVLOGV1_FLAGS, |
@@ -87,7 +88,6 b' from .utils import (' | |||
|
87 | 88 | storageutil, |
|
88 | 89 | stringutil, |
|
89 | 90 | ) |
|
90 | from .pure import parsers as pureparsers | |
|
91 | 91 | |
|
92 | 92 | # blanked usage of all the name to prevent pyflakes constraints |
|
93 | 93 | # We need these name available in the module for extensions. |
@@ -352,20 +352,16 b' class revlogio(object):' | |||
|
352 | 352 | return p |
|
353 | 353 | |
|
354 | 354 | |
|
355 | indexformatv2 = struct.Struct(pureparsers.Index2Mixin.index_format) | |
|
356 | indexformatv2_pack = indexformatv2.pack | |
|
357 | ||
|
358 | ||
|
359 | 355 | class revlogv2io(object): |
|
360 | 356 | def __init__(self): |
|
361 |
self.size = |
|
|
357 | self.size = INDEX_ENTRY_V2.size | |
|
362 | 358 | |
|
363 | 359 | def parseindex(self, data, inline): |
|
364 | 360 | index, cache = parsers.parse_index2(data, inline, revlogv2=True) |
|
365 | 361 | return index, cache |
|
366 | 362 | |
|
367 | 363 | def packentry(self, entry, node, version, rev): |
|
368 |
p = |
|
|
364 | p = INDEX_ENTRY_V2.pack(*entry) | |
|
369 | 365 | if rev == 0: |
|
370 | 366 | p = versionformat_pack(version) + p[4:] |
|
371 | 367 | return p |
@@ -57,6 +57,21 b' INDEX_ENTRY_V0 = struct.Struct(b">4l20s2' | |||
|
57 | 57 | INDEX_ENTRY_V1 = struct.Struct(b">Qiiiiii20s12x") |
|
58 | 58 | assert INDEX_ENTRY_V1.size == 32 * 2 |
|
59 | 59 | |
|
60 | # 6 bytes: offset | |
|
61 | # 2 bytes: flags | |
|
62 | # 4 bytes: compressed length | |
|
63 | # 4 bytes: uncompressed length | |
|
64 | # 4 bytes: base rev | |
|
65 | # 4 bytes: link rev | |
|
66 | # 4 bytes: parent 1 rev | |
|
67 | # 4 bytes: parent 2 rev | |
|
68 | # 32 bytes: nodeid | |
|
69 | # 8 bytes: sidedata offset | |
|
70 | # 4 bytes: sidedata compressed length | |
|
71 | # 20 bytes: Padding to align to 96 bytes (see RevlogV2Plan wiki page) | |
|
72 | INDEX_ENTRY_V2 = struct.Struct(b">Qiiiiii20s12xQi20x") | |
|
73 | assert INDEX_ENTRY_V2.size == 32 * 3 | |
|
74 | ||
|
60 | 75 | # revlog index flags |
|
61 | 76 | |
|
62 | 77 | # For historical reasons, revlog's internal flags were exposed via the |
General Comments 0
You need to be logged in to leave comments.
Login now