Mercurial > public > mercurial-scm > hg-stable
diff mercurial/revlog.py @ 44803:affe0fb42250 stable
nodemap: fix validity checking when revlog is too short
We cannot check the nodeid of a revision that is not even there. We add a simple
fix and simple test.
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Sat, 13 Jun 2020 11:57:58 +0200 |
parents | 64e2f603de9d |
children | cc2572923ea3 |
line wrap: on
line diff
--- a/mercurial/revlog.py Tue Jun 09 05:24:45 2020 +0200 +++ b/mercurial/revlog.py Sat Jun 13 11:57:58 2020 +0200 @@ -651,7 +651,10 @@ nodemap_data = nodemaputil.persisted_data(self) if nodemap_data is not None: docket = nodemap_data[0] - if d[0][docket.tip_rev][7] == docket.tip_node: + if ( + len(d[0]) > docket.tip_rev + and d[0][docket.tip_rev][7] == docket.tip_node + ): # no changelog tampering self._nodemap_docket = docket index.update_nodemap_data(*nodemap_data)