tests/seq.py
author Sean Farley <sean@farley.io>
Tue, 26 Jun 2018 15:26:21 -0700
changeset 38625 52f19a840543
parent 35171 08b8b56bd2e8
child 40807 0605726179a0
permissions -rwxr-xr-x
revset: add optimization for heads(commonancestors()) Previously, the only way to get these commits were (tested on mozilla-central): hg perfrevset 'heads(::a7cf55 and ::d8b15)' ! wall 4.988366 comb 4.960000 user 4.780000 sys 0.180000 (best of 3) After this patch: (python) hg perfrevset 'heads(commonancestors(a7cf55 + d8b15))' ! wall 0.002155 comb 0.000000 user 0.000000 sys 0.000000 (best of 1107) (C) hg perfrevset 'heads(commonancestors(a7cf55 + d8b15))' ! wall 0.000568 comb 0.000000 user 0.000000 sys 0.000000 (best of 4646)

#!/usr/bin/env python
#
# A portable replacement for 'seq'
#
# Usage:
#   seq STOP              [1, STOP] stepping by 1
#   seq START STOP        [START, STOP] stepping by 1
#   seq START STEP STOP   [START, STOP] stepping by STEP

from __future__ import absolute_import, print_function
import sys

if sys.version_info[0] >= 3:
    xrange = range

start = 1
if len(sys.argv) > 2:
    start = int(sys.argv[1])

step = 1
if len(sys.argv) > 3:
    step = int(sys.argv[2])

stop = int(sys.argv[-1]) + 1

for i in xrange(start, stop, step):
    print(i)