diff --git a/contrib/perf.py b/contrib/perf.py --- a/contrib/perf.py +++ b/contrib/perf.py @@ -2592,7 +2592,7 @@ index[rev] def resolvenode(node): - nodemap = revlogio.parseindex(data, inline)[1] + nodemap = getattr(revlogio.parseindex(data, inline)[0], 'nodemap', None) # This only works for the C code. if nodemap is None: return @@ -2603,7 +2603,7 @@ pass def resolvenodes(nodes, count=1): - nodemap = revlogio.parseindex(data, inline)[1] + nodemap = getattr(revlogio.parseindex(data, inline)[0], 'nodemap', None) if nodemap is None: return diff --git a/mercurial/revlog.py b/mercurial/revlog.py --- a/mercurial/revlog.py +++ b/mercurial/revlog.py @@ -252,7 +252,7 @@ n += 1 index = revlogoldindex(index) - return index, index.nodemap, None + return index, None def packentry(self, entry, node, version, rev): if gettype(entry[0]): @@ -299,7 +299,7 @@ def parseindex(self, data, inline): # call the C implementation to parse the index data index, cache = parsers.parse_index2(data, inline) - return index, index.nodemap, cache + return index, cache def packentry(self, entry, node, version, rev): p = indexformatng_pack(*entry) @@ -552,8 +552,8 @@ raise error.RevlogError( _(b"index %s is corrupted") % self.indexfile ) - self.index, nodemap, self._chunkcache = d - self.nodemap = self._nodecache = nodemap + self.index, self._chunkcache = d + self.nodemap = self._nodecache = self.index.nodemap if not self._chunkcache: self._chunkclear() # revnum -> (chain-length, sum-delta-length)