Mercurial > public > mercurial-scm > hg-stable
diff mercurial/revlog.py @ 44366:76a96e3a2bbb
nodemap: keep track of the docket for loaded data
To perform incremental update of the on disk data, we need to keep tracks of
some aspect of that data.
Differential Revision: https://phab.mercurial-scm.org/D7885
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Wed, 15 Jan 2020 15:49:45 +0100 |
parents | 671f9479af0e |
children | e41a164db7a9 |
line wrap: on
line diff
--- a/mercurial/revlog.py Wed Jan 15 15:49:35 2020 +0100 +++ b/mercurial/revlog.py Wed Jan 15 15:49:45 2020 +0100 @@ -455,6 +455,7 @@ self._maxchainlen = None self._deltabothparents = True self.index = None + self._nodemap_docket = None # Mapping of partial identifiers to full nodes. self._pcache = {} # Mapping of revision integer to full node. @@ -544,6 +545,9 @@ indexdata = b'' self._initempty = True try: + nodemap_data = nodemaputil.persisted_data(self) + if nodemap_data is not None: + self._nodemap_docket = nodemap_data[0] with self._indexfp() as f: if ( mmapindexthreshold is not None @@ -635,7 +639,7 @@ if use_nodemap: nodemap_data = nodemaputil.persisted_data(self) if nodemap_data is not None: - index.update_nodemap_data(nodemap_data) + index.update_nodemap_data(nodemap_data[1]) except (ValueError, IndexError): raise error.RevlogError( _(b"index %s is corrupted") % self.indexfile