equal
deleted
inserted
replaced
1824 import mercurial.revlog |
1824 import mercurial.revlog |
1825 |
1825 |
1826 mercurial.revlog._prereadsize = 2 ** 24 # disable lazy parser in old hg |
1826 mercurial.revlog._prereadsize = 2 ** 24 # disable lazy parser in old hg |
1827 n = scmutil.revsingle(repo, rev).node() |
1827 n = scmutil.revsingle(repo, rev).node() |
1828 |
1828 |
1829 cl = revlog(getsvfs(repo), indexfile=b"00changelog.i") |
1829 try: |
|
1830 cl = revlog(getsvfs(repo), radix=b"00changelog") |
|
1831 except TypeError: |
|
1832 cl = revlog(getsvfs(repo), indexfile=b"00changelog.i") |
1830 |
1833 |
1831 def d(): |
1834 def d(): |
1832 cl.rev(n) |
1835 cl.rev(n) |
1833 clearcaches(cl) |
1836 clearcaches(cl) |
1834 |
1837 |
2608 |
2611 |
2609 rl = cmdutil.openrevlog(repo, b'perfrevlogindex', file_, opts) |
2612 rl = cmdutil.openrevlog(repo, b'perfrevlogindex', file_, opts) |
2610 |
2613 |
2611 opener = getattr(rl, 'opener') # trick linter |
2614 opener = getattr(rl, 'opener') # trick linter |
2612 # compat with hg <= 5.8 |
2615 # compat with hg <= 5.8 |
|
2616 radix = getattr(rl, 'radix', None) |
2613 indexfile = getattr(rl, '_indexfile', None) |
2617 indexfile = getattr(rl, '_indexfile', None) |
2614 if indexfile is None: |
2618 if indexfile is None: |
2615 # compatibility with <= hg-5.8 |
2619 # compatibility with <= hg-5.8 |
2616 indexfile = getattr(rl, 'indexfile') |
2620 indexfile = getattr(rl, 'indexfile') |
2617 data = opener.read(indexfile) |
2621 data = opener.read(indexfile) |
2639 allrevsrev = list(reversed(allrevs)) |
2643 allrevsrev = list(reversed(allrevs)) |
2640 allnodes = [rl.node(rev) for rev in range(rllen)] |
2644 allnodes = [rl.node(rev) for rev in range(rllen)] |
2641 allnodesrev = list(reversed(allnodes)) |
2645 allnodesrev = list(reversed(allnodes)) |
2642 |
2646 |
2643 def constructor(): |
2647 def constructor(): |
2644 revlog(opener, indexfile=indexfile) |
2648 if radix is not None: |
|
2649 revlog(opener, radix=radix) |
|
2650 else: |
|
2651 # hg <= 5.8 |
|
2652 revlog(opener, indexfile=indexfile) |
2645 |
2653 |
2646 def read(): |
2654 def read(): |
2647 with opener(indexfile) as fh: |
2655 with opener(indexfile) as fh: |
2648 fh.read() |
2656 fh.read() |
2649 |
2657 |
3041 indexfile = getattr(orig, 'indexfile') |
3049 indexfile = getattr(orig, 'indexfile') |
3042 origindexpath = orig.opener.join(indexfile) |
3050 origindexpath = orig.opener.join(indexfile) |
3043 |
3051 |
3044 datafile = getattr(orig, '_datafile', getattr(orig, 'datafile')) |
3052 datafile = getattr(orig, '_datafile', getattr(orig, 'datafile')) |
3045 origdatapath = orig.opener.join(datafile) |
3053 origdatapath = orig.opener.join(datafile) |
3046 indexname = 'revlog.i' |
3054 radix = b'revlog' |
3047 dataname = 'revlog.d' |
3055 indexname = b'revlog.i' |
|
3056 dataname = b'revlog.d' |
3048 |
3057 |
3049 tmpdir = tempfile.mkdtemp(prefix='tmp-hgperf-') |
3058 tmpdir = tempfile.mkdtemp(prefix='tmp-hgperf-') |
3050 try: |
3059 try: |
3051 # copy the data file in a temporary directory |
3060 # copy the data file in a temporary directory |
3052 ui.debug('copying data in %s\n' % tmpdir) |
3061 ui.debug('copying data in %s\n' % tmpdir) |
3067 # instantiate a new revlog from the temporary copy |
3076 # instantiate a new revlog from the temporary copy |
3068 ui.debug('truncating adding to be rewritten\n') |
3077 ui.debug('truncating adding to be rewritten\n') |
3069 vfs = vfsmod.vfs(tmpdir) |
3078 vfs = vfsmod.vfs(tmpdir) |
3070 vfs.options = getattr(orig.opener, 'options', None) |
3079 vfs.options = getattr(orig.opener, 'options', None) |
3071 |
3080 |
3072 dest = revlog( |
3081 try: |
3073 vfs, indexfile=indexname, datafile=dataname, **revlogkwargs |
3082 dest = revlog(vfs, radix=radix, **revlogkwargs) |
3074 ) |
3083 except TypeError: |
|
3084 dest = revlog( |
|
3085 vfs, indexfile=indexname, datafile=dataname, **revlogkwargs |
|
3086 ) |
3075 if dest._inline: |
3087 if dest._inline: |
3076 raise error.Abort('not supporting inline revlog (yet)') |
3088 raise error.Abort('not supporting inline revlog (yet)') |
3077 # make sure internals are initialized |
3089 # make sure internals are initialized |
3078 dest.revision(len(dest) - 1) |
3090 dest.revision(len(dest) - 1) |
3079 yield dest |
3091 yield dest |