# HG changeset patch # User Martin von Zweigbergk # Date 1532105889 25200 # Node ID 119d14f41cb265ac3c81e292295413a8066ce298 # Parent 6f7c9527030b1d8ee96d05f48e068d93c5871365 revlog: remove some knowledge of sentinel nullid in index I think the "-2" to mean "last position in index, not counting the null revision at the end" is an implementation detail of the index that we should avoid spreading knowledge of. I hope we can even remove support for index[-2]. Differential Revision: https://phab.mercurial-scm.org/D4016 diff -r 6f7c9527030b -r 119d14f41cb2 mercurial/revlog.py --- a/mercurial/revlog.py Fri Apr 13 23:23:47 2018 -0700 +++ b/mercurial/revlog.py Fri Jul 20 09:58:09 2018 -0700 @@ -2247,7 +2247,9 @@ revlog has grown too large to be an inline revlog, it will convert it to use multiple index and data files. """ - if not self._inline or (self.start(-2) + self.length(-2)) < _maxinline: + tiprev = len(self) - 1 + if (not self._inline or + (self.start(tiprev) + self.length(tiprev)) < _maxinline): return trinfo = tr.find(self.indexfile) @@ -2261,7 +2263,7 @@ else: # revlog was stripped at start of transaction, use all leftover data trindex = len(self) - 1 - dataoff = self.end(-2) + dataoff = self.end(tiprev) tr.add(self.datafile, dataoff)