Mercurial > hg
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) |