Mercurial > public > mercurial-scm > hg
comparison mercurial/unionrepo.py @ 47249: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 | 8d3c2f9d4af7 |
children | 2b69555e4875 |
comparison
equal
deleted
inserted
replaced
47248:013c645dd28c | 47249:130c9f7ed914 |
---|---|
27 mdiff, | 27 mdiff, |
28 pathutil, | 28 pathutil, |
29 revlog, | 29 revlog, |
30 util, | 30 util, |
31 vfs as vfsmod, | 31 vfs as vfsmod, |
32 ) | |
33 | |
34 from .revlogutils import ( | |
35 constants as revlog_constants, | |
32 ) | 36 ) |
33 | 37 |
34 | 38 |
35 class unionrevlog(revlog.revlog): | 39 class unionrevlog(revlog.revlog): |
36 def __init__(self, opener, radix, revlog2, linkmapper): | 40 def __init__(self, opener, radix, revlog2, linkmapper): |
63 p1rev, | 67 p1rev, |
64 p2rev, | 68 p2rev, |
65 node, | 69 node, |
66 _sdo, | 70 _sdo, |
67 _sds, | 71 _sds, |
72 _dcm, | |
68 ) = rev | 73 ) = rev |
69 flags = _start & 0xFFFF | 74 flags = _start & 0xFFFF |
70 | 75 |
71 if linkmapper is None: # link is to same revlog | 76 if linkmapper is None: # link is to same revlog |
72 assert linkrev == rev2 # we never link back | 77 assert linkrev == rev2 # we never link back |
97 self.rev(p1node), | 102 self.rev(p1node), |
98 self.rev(p2node), | 103 self.rev(p2node), |
99 node, | 104 node, |
100 0, # sidedata offset | 105 0, # sidedata offset |
101 0, # sidedata size | 106 0, # sidedata size |
107 revlog_constants.COMP_MODE_INLINE, | |
102 ) | 108 ) |
103 self.index.append(e) | 109 self.index.append(e) |
104 self.bundlerevs.add(n) | 110 self.bundlerevs.add(n) |
105 n += 1 | 111 n += 1 |
106 | 112 |