diff -r 15a033cabc19 -r 6c906eaedd0d mercurial/revlog.py --- a/mercurial/revlog.py Thu Feb 27 15:42:04 2020 +0100 +++ b/mercurial/revlog.py Thu Feb 27 16:32:43 2020 +0100 @@ -643,8 +643,11 @@ if use_nodemap: nodemap_data = nodemaputil.persisted_data(self) if nodemap_data is not None: - self._nodemap_docket = nodemap_data[0] - index.update_nodemap_data(*nodemap_data) + docket = nodemap_data[0] + if d[0][docket.tip_rev][7] == docket.tip_node: + # no changelog tampering + self._nodemap_docket = docket + index.update_nodemap_data(*nodemap_data) except (ValueError, IndexError): raise error.RevlogError( _(b"index %s is corrupted") % self.indexfile