##// END OF EJS Templates
nodemap: provide the on disk data to indexes who support it...
marmoute -
r44801:671f9479 default
parent child Browse files
Show More
@@ -156,6 +156,14 b' class PersistentNodeMapIndexObject(Index'
156 index."""
156 index."""
157 return nodemaputil.persistent_data(self)
157 return nodemaputil.persistent_data(self)
158
158
159 def update_nodemap_data(self, nm_data):
160 """provide full blokc of persisted binary data for a nodemap
161
162 The data are expected to come from disk. See `nodemap_data_all` for a
163 produceur of such data."""
164 if nm_data is not None:
165 nodemaputil.parse_data(nm_data)
166
159
167
160 class InlinedIndexObject(BaseIndexObject):
168 class InlinedIndexObject(BaseIndexObject):
161 def __init__(self, data, inline=0):
169 def __init__(self, data, inline=0):
@@ -626,6 +626,16 b' class revlog(object):'
626 self._io = rustrevlogio()
626 self._io = rustrevlogio()
627 try:
627 try:
628 d = self._io.parseindex(indexdata, self._inline)
628 d = self._io.parseindex(indexdata, self._inline)
629 index, _chunkcache = d
630 use_nodemap = (
631 not self._inline
632 and self.nodemap_file is not None
633 and util.safehasattr(index, 'update_nodemap_data')
634 )
635 if use_nodemap:
636 nodemap_data = nodemaputil.persisted_data(self)
637 if nodemap_data is not None:
638 index.update_nodemap_data(nodemap_data)
629 except (ValueError, IndexError):
639 except (ValueError, IndexError):
630 raise error.RevlogError(
640 raise error.RevlogError(
631 _(b"index %s is corrupted") % self.indexfile
641 _(b"index %s is corrupted") % self.indexfile
General Comments 0
You need to be logged in to leave comments. Login now