comparison contrib/perf.py @ 40537:cbd251d479bb

perf: fix perfrevlogrevisions --reverse Currently, 'endrev' equals `len(revlog)`, a revision that does not exist. When asking for the reverse order, the arguments passed to xrange are `xrange(len(revlog), startrev)` which then crash. We need to offset 'endrev' by one so we don't crash anymore. Also, we offset 'startrev' to ensure we get the same number of revisions with and without the `--reverse` option. Differential Revision: https://phab.mercurial-scm.org/D5228
author Boris Feld <boris.feld@octobus.net>
date Mon, 05 Nov 2018 17:24:39 +0100
parents e6c8a0fd3db4
children 164b2e77f9a5
comparison
equal deleted inserted replaced
40536:1d3bed7d2923 40537:cbd251d479bb
1551 beginrev = startrev 1551 beginrev = startrev
1552 endrev = rllen 1552 endrev = rllen
1553 dist = opts[b'dist'] 1553 dist = opts[b'dist']
1554 1554
1555 if reverse: 1555 if reverse:
1556 beginrev, endrev = endrev, beginrev 1556 beginrev, endrev = endrev - 1, beginrev - 1
1557 dist = -1 * dist 1557 dist = -1 * dist
1558 1558
1559 for x in _xrange(beginrev, endrev, dist): 1559 for x in _xrange(beginrev, endrev, dist):
1560 # Old revisions don't support passing int. 1560 # Old revisions don't support passing int.
1561 n = rl.node(x) 1561 n = rl.node(x)