diff -r 396442cd7e6a -r 8d3c2f9d4af7 contrib/perf.py --- a/contrib/perf.py Mon May 03 12:22:26 2021 +0200 +++ b/contrib/perf.py Mon May 03 12:22:36 2021 +0200 @@ -1826,7 +1826,10 @@ mercurial.revlog._prereadsize = 2 ** 24 # disable lazy parser in old hg n = scmutil.revsingle(repo, rev).node() - cl = revlog(getsvfs(repo), indexfile=b"00changelog.i") + try: + cl = revlog(getsvfs(repo), radix=b"00changelog") + except TypeError: + cl = revlog(getsvfs(repo), indexfile=b"00changelog.i") def d(): cl.rev(n) @@ -2610,6 +2613,7 @@ opener = getattr(rl, 'opener') # trick linter # compat with hg <= 5.8 + radix = getattr(rl, 'radix', None) indexfile = getattr(rl, '_indexfile', None) if indexfile is None: # compatibility with <= hg-5.8 @@ -2641,7 +2645,11 @@ allnodesrev = list(reversed(allnodes)) def constructor(): - revlog(opener, indexfile=indexfile) + if radix is not None: + revlog(opener, radix=radix) + else: + # hg <= 5.8 + revlog(opener, indexfile=indexfile) def read(): with opener(indexfile) as fh: @@ -3043,8 +3051,9 @@ datafile = getattr(orig, '_datafile', getattr(orig, 'datafile')) origdatapath = orig.opener.join(datafile) - indexname = 'revlog.i' - dataname = 'revlog.d' + radix = b'revlog' + indexname = b'revlog.i' + dataname = b'revlog.d' tmpdir = tempfile.mkdtemp(prefix='tmp-hgperf-') try: @@ -3069,9 +3078,12 @@ vfs = vfsmod.vfs(tmpdir) vfs.options = getattr(orig.opener, 'options', None) - dest = revlog( - vfs, indexfile=indexname, datafile=dataname, **revlogkwargs - ) + try: + dest = revlog(vfs, radix=radix, **revlogkwargs) + except TypeError: + dest = revlog( + vfs, indexfile=indexname, datafile=dataname, **revlogkwargs + ) if dest._inline: raise error.Abort('not supporting inline revlog (yet)') # make sure internals are initialized