Mercurial > public > mercurial-scm > hg-stable
comparison mercurial/revlogutils/revlogv0.py @ 47260:130c9f7ed914
revlog: add a "data compression mode" entry in the index tuple
That will make it possible to keep track of compression information in the
revlog index, opening the way to more efficient revision restoration (in native
code, but the python usage is already defeating performance work).
We start with adding a new entry to the index tuple, using a value matching the
current behavior. We will introduce storage and other value in later changesets.
Differential Revision: https://phab.mercurial-scm.org/D10646
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Mon, 03 May 2021 18:19:16 +0200 |
parents | 013c645dd28c |
children | 2b69555e4875 |
comparison
equal
deleted
inserted
replaced
47259:013c645dd28c | 47260:130c9f7ed914 |
---|---|
7 from __future__ import absolute_import | 7 from __future__ import absolute_import |
8 | 8 |
9 | 9 |
10 from ..node import sha1nodeconstants | 10 from ..node import sha1nodeconstants |
11 from .constants import ( | 11 from .constants import ( |
12 COMP_MODE_INLINE, | |
12 INDEX_ENTRY_V0, | 13 INDEX_ENTRY_V0, |
13 ) | 14 ) |
14 from ..i18n import _ | 15 from ..i18n import _ |
15 | 16 |
16 from .. import ( | 17 from .. import ( |
40 return int(int(offset) << 16 | type) | 41 return int(int(offset) << 16 | type) |
41 | 42 |
42 | 43 |
43 class revlogoldindex(list): | 44 class revlogoldindex(list): |
44 entry_size = INDEX_ENTRY_V0.size | 45 entry_size = INDEX_ENTRY_V0.size |
45 null_item = (0, 0, 0, -1, -1, -1, -1, sha1nodeconstants.nullid, 0, 0) | 46 null_item = ( |
47 0, | |
48 0, | |
49 0, | |
50 -1, | |
51 -1, | |
52 -1, | |
53 -1, | |
54 sha1nodeconstants.nullid, | |
55 0, | |
56 0, | |
57 COMP_MODE_INLINE, | |
58 ) | |
46 | 59 |
47 @property | 60 @property |
48 def nodemap(self): | 61 def nodemap(self): |
49 msg = b"index.nodemap is deprecated, use index.[has_node|rev|get_rev]" | 62 msg = b"index.nodemap is deprecated, use index.[has_node|rev|get_rev]" |
50 util.nouideprecwarn(msg, b'5.3', stacklevel=2) | 63 util.nouideprecwarn(msg, b'5.3', stacklevel=2) |
136 nodemap.get(e[4], node.nullrev), | 149 nodemap.get(e[4], node.nullrev), |
137 nodemap.get(e[5], node.nullrev), | 150 nodemap.get(e[5], node.nullrev), |
138 e[6], | 151 e[6], |
139 0, # no side data support | 152 0, # no side data support |
140 0, # no side data support | 153 0, # no side data support |
154 COMP_MODE_INLINE, | |
141 ) | 155 ) |
142 index.append(e2) | 156 index.append(e2) |
143 nodemap[e[6]] = n | 157 nodemap[e[6]] = n |
144 n += 1 | 158 n += 1 |
145 | 159 |