Patchwork D4016: revlog: remove some knowledge of sentinel nullid in index

login
register
mail settings
Submitter phabricator
Date Aug. 2, 2018, 4:40 a.m.
Message ID <d06c94d1f61a43ce78b416e3634cbb2b@localhost.localdomain>
Download mbox | patch
Permalink /patch/33092/
State Not Applicable
Headers show

Comments

phabricator - Aug. 2, 2018, 4:40 a.m.
martinvonz updated this revision to Diff 9776.

REPOSITORY
  rHG Mercurial

CHANGES SINCE LAST UPDATE
  https://phab.mercurial-scm.org/D4016?vs=9716&id=9776

REVISION DETAIL
  https://phab.mercurial-scm.org/D4016

AFFECTED FILES
  mercurial/revlog.py

CHANGE DETAILS




To: martinvonz, indygreg, #hg-reviewers
Cc: mercurial-devel

Patch

diff --git a/mercurial/revlog.py b/mercurial/revlog.py
--- a/mercurial/revlog.py
+++ b/mercurial/revlog.py
@@ -2246,7 +2246,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)
@@ -2260,7 +2262,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)