Mercurial > public > mercurial-scm > hg-stable
diff contrib/perf.py @ 47077:5e64c93d5f94
revlog: remove the revlogio class
The class only contains a single `parseindex` method. Lets just make it a
function and remove the `revlogio` class. It served us well but became thinner
and thinner overtime.
Differential Revision: https://phab.mercurial-scm.org/D10509
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Sat, 01 May 2021 14:47:39 +0200 |
parents | 3c9208702db3 |
children | 4c041c71ec01 |
line wrap: on
line diff
--- a/contrib/perf.py Sat May 01 14:47:33 2021 +0200 +++ b/contrib/perf.py Sat May 01 14:47:39 2021 +0200 @@ -2598,11 +2598,14 @@ header = struct.unpack(b'>I', data[0:4])[0] version = header & 0xFFFF if version == 1: - revlogio = revlog.revlogio() inline = header & (1 << 16) else: raise error.Abort(b'unsupported revlog version: %d' % version) + parse_index_v1 = getattr(revlog, 'parse_index_v1', None) + if parse_index_v1 is None: + parse_index_v1 = revlog.revlogio().parseindex + rllen = len(rl) node0 = rl.node(0) @@ -2624,26 +2627,24 @@ fh.read() def parseindex(): - revlogio.parseindex(data, inline) + parse_index_v1(data, inline) def getentry(revornode): - index = revlogio.parseindex(data, inline)[0] + index = parse_index_v1(data, inline)[0] index[revornode] def getentries(revs, count=1): - index = revlogio.parseindex(data, inline)[0] + index = parse_index_v1(data, inline)[0] for i in range(count): for rev in revs: index[rev] def resolvenode(node): - index = revlogio.parseindex(data, inline)[0] + index = parse_index_v1(data, inline)[0] rev = getattr(index, 'rev', None) if rev is None: - nodemap = getattr( - revlogio.parseindex(data, inline)[0], 'nodemap', None - ) + nodemap = getattr(parse_index_v1(data, inline)[0], 'nodemap', None) # This only works for the C code. if nodemap is None: return @@ -2655,12 +2656,10 @@ pass def resolvenodes(nodes, count=1): - index = revlogio.parseindex(data, inline)[0] + index = parse_index_v1(data, inline)[0] rev = getattr(index, 'rev', None) if rev is None: - nodemap = getattr( - revlogio.parseindex(data, inline)[0], 'nodemap', None - ) + nodemap = getattr(parse_index_v1(data, inline)[0], 'nodemap', None) # This only works for the C code. if nodemap is None: return