Show More
@@ -149,6 +149,13 b' class PersistentNodeMapIndexObject(Index' | |||||
149 | through the dedicated `devel.persistent-nodemap` config. |
|
149 | through the dedicated `devel.persistent-nodemap` config. | |
150 | """ |
|
150 | """ | |
151 |
|
151 | |||
|
152 | def nodemap_data_all(self): | |||
|
153 | """Return bytes containing a full serialization of a nodemap | |||
|
154 | ||||
|
155 | The nodemap should be valid for the full set of revisions in the | |||
|
156 | index.""" | |||
|
157 | return nodemaputil.persistent_data(self) | |||
|
158 | ||||
152 |
|
159 | |||
153 | class InlinedIndexObject(BaseIndexObject): |
|
160 | class InlinedIndexObject(BaseIndexObject): | |
154 | def __init__(self, data, inline=0): |
|
161 | def __init__(self, data, inline=0): |
@@ -15,7 +15,7 b' import struct' | |||||
15 | from .. import ( |
|
15 | from .. import ( | |
16 | error, |
|
16 | error, | |
17 | node as nodemod, |
|
17 | node as nodemod, | |
18 | pycompat, |
|
18 | util, | |
19 | ) |
|
19 | ) | |
20 |
|
20 | |||
21 |
|
21 | |||
@@ -69,7 +69,10 b' def _persist_nodemap(tr, revlog):' | |||||
69 | if revlog.nodemap_file is None: |
|
69 | if revlog.nodemap_file is None: | |
70 | msg = "calling persist nodemap on a revlog without the feature enableb" |
|
70 | msg = "calling persist nodemap on a revlog without the feature enableb" | |
71 | raise error.ProgrammingError(msg) |
|
71 | raise error.ProgrammingError(msg) | |
72 | data = persistent_data(revlog.index) |
|
72 | if util.safehasattr(revlog.index, "nodemap_data_all"): | |
|
73 | data = revlog.index.nodemap_data_all() | |||
|
74 | else: | |||
|
75 | data = persistent_data(revlog.index) | |||
73 | uid = _make_uid() |
|
76 | uid = _make_uid() | |
74 | datafile = _rawdata_filepath(revlog, uid) |
|
77 | datafile = _rawdata_filepath(revlog, uid) | |
75 | olds = _other_rawdata_filepath(revlog, uid) |
|
78 | olds = _other_rawdata_filepath(revlog, uid) |
General Comments 0
You need to be logged in to leave comments.
Login now