diff -r f738c502e43b -r f3d394ea17db mercurial/pure/parsers.py --- a/mercurial/pure/parsers.py Fri Jul 20 22:26:28 2018 -0700 +++ b/mercurial/pure/parsers.py Fri Jul 20 09:53:54 2018 -0700 @@ -55,9 +55,9 @@ return i def __getitem__(self, i): + if i == -1 or i == len(self) - 1: + return (0, 0, 0, -1, -1, -1, -1, nullid) i = self._fix_index(i) - if i == len(self) - 1: - return (0, 0, 0, -1, -1, -1, -1, nullid) if i >= self._lgt: return self._extra[i - self._lgt] index = self._calculate_index(i)