equal
deleted
inserted
replaced
172 revlog._nodemap_file = get_nodemap_file(revlog) |
172 revlog._nodemap_file = get_nodemap_file(revlog) |
173 else: |
173 else: |
174 msg = "calling persist nodemap on a revlog without the feature enabled" |
174 msg = "calling persist nodemap on a revlog without the feature enabled" |
175 raise error.ProgrammingError(msg) |
175 raise error.ProgrammingError(msg) |
176 |
176 |
177 can_incremental = util.safehasattr(revlog.index, "nodemap_data_incremental") |
177 can_incremental = hasattr(revlog.index, "nodemap_data_incremental") |
178 ondisk_docket = revlog._nodemap_docket |
178 ondisk_docket = revlog._nodemap_docket |
179 feed_data = util.safehasattr(revlog.index, "update_nodemap_data") |
179 feed_data = hasattr(revlog.index, "update_nodemap_data") |
180 use_mmap = revlog.opener.options.get(b"persistent-nodemap.mmap") |
180 use_mmap = revlog.opener.options.get(b"persistent-nodemap.mmap") |
181 |
181 |
182 data = None |
182 data = None |
183 # first attemp an incremental update of the data |
183 # first attemp an incremental update of the data |
184 if can_incremental and ondisk_docket is not None: |
184 if can_incremental and ondisk_docket is not None: |
214 |
214 |
215 if data is None: |
215 if data is None: |
216 # otherwise fallback to a full new export |
216 # otherwise fallback to a full new export |
217 target_docket = NodeMapDocket() |
217 target_docket = NodeMapDocket() |
218 datafile = _rawdata_filepath(revlog, target_docket) |
218 datafile = _rawdata_filepath(revlog, target_docket) |
219 if util.safehasattr(revlog.index, "nodemap_data_all"): |
219 if hasattr(revlog.index, "nodemap_data_all"): |
220 data = revlog.index.nodemap_data_all() |
220 data = revlog.index.nodemap_data_all() |
221 else: |
221 else: |
222 data = persistent_data(revlog.index) |
222 data = persistent_data(revlog.index) |
223 # EXP-TODO: if this is a cache, this should use a cache vfs, not a |
223 # EXP-TODO: if this is a cache, this should use a cache vfs, not a |
224 # store vfs |
224 # store vfs |