equal
deleted
inserted
replaced
13 import struct |
13 import struct |
14 |
14 |
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 |
22 class NodeMap(dict): |
22 class NodeMap(dict): |
23 def __missing__(self, x): |
23 def __missing__(self, x): |
67 "cannot persist nodemap of a filtered changelog" |
67 "cannot persist nodemap of a filtered changelog" |
68 ) |
68 ) |
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) |
76 if olds: |
79 if olds: |
77 realvfs = getattr(revlog, '_realopener', revlog.opener) |
80 realvfs = getattr(revlog, '_realopener', revlog.opener) |