diff -r 6c8384afbf77 -r affe0fb42250 mercurial/revlog.py --- 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)