changeset 47012 | d55b71393907 |
parent 46974 | 3c9208702db3 |
child 47034 | 0d8ff1f4ab0c |
46992:5fa019ceb499 | 47012:d55b71393907 |
---|---|
8 from __future__ import absolute_import |
8 from __future__ import absolute_import |
9 |
9 |
10 import struct |
10 import struct |
11 import zlib |
11 import zlib |
12 |
12 |
13 from ..node import nullid, nullrev |
13 from ..node import ( |
14 nullrev, |
|
15 sha1nodeconstants, |
|
16 ) |
|
14 from .. import ( |
17 from .. import ( |
15 pycompat, |
18 pycompat, |
16 util, |
19 util, |
17 ) |
20 ) |
18 |
21 |
48 # Size of a C unsigned long long int, platform independent |
51 # Size of a C unsigned long long int, platform independent |
49 big_int_size = struct.calcsize(b'>Q') |
52 big_int_size = struct.calcsize(b'>Q') |
50 # Size of a C long int, platform independent |
53 # Size of a C long int, platform independent |
51 int_size = struct.calcsize(b'>i') |
54 int_size = struct.calcsize(b'>i') |
52 # An empty index entry, used as a default value to be overridden, or nullrev |
55 # An empty index entry, used as a default value to be overridden, or nullrev |
53 null_item = (0, 0, 0, -1, -1, -1, -1, nullid) |
56 null_item = (0, 0, 0, -1, -1, -1, -1, sha1nodeconstants.nullid) |
54 |
57 |
55 @util.propertycache |
58 @util.propertycache |
56 def entry_size(self): |
59 def entry_size(self): |
57 return self.index_format.size |
60 return self.index_format.size |
58 |
61 |
62 util.nouideprecwarn(msg, b'5.3', stacklevel=2) |
65 util.nouideprecwarn(msg, b'5.3', stacklevel=2) |
63 return self._nodemap |
66 return self._nodemap |
64 |
67 |
65 @util.propertycache |
68 @util.propertycache |
66 def _nodemap(self): |
69 def _nodemap(self): |
67 nodemap = nodemaputil.NodeMap({nullid: nullrev}) |
70 nodemap = nodemaputil.NodeMap({sha1nodeconstants.nullid: nullrev}) |
68 for r in range(0, len(self)): |
71 for r in range(0, len(self)): |
69 n = self[r][7] |
72 n = self[r][7] |
70 nodemap[n] = r |
73 nodemap[n] = r |
71 return nodemap |
74 return nodemap |
72 |
75 |
244 return cls(data, inline), (0, data) |
247 return cls(data, inline), (0, data) |
245 |
248 |
246 |
249 |
247 class Index2Mixin(object): |
250 class Index2Mixin(object): |
248 index_format = revlog_constants.INDEX_ENTRY_V2 |
251 index_format = revlog_constants.INDEX_ENTRY_V2 |
249 null_item = (0, 0, 0, -1, -1, -1, -1, nullid, 0, 0) |
252 null_item = (0, 0, 0, -1, -1, -1, -1, sha1nodeconstants.nullid, 0, 0) |
250 |
253 |
251 def replace_sidedata_info(self, i, sidedata_offset, sidedata_length): |
254 def replace_sidedata_info(self, i, sidedata_offset, sidedata_length): |
252 """ |
255 """ |
253 Replace an existing index entry's sidedata offset and length with new |
256 Replace an existing index entry's sidedata offset and length with new |
254 ones. |
257 ones. |