tests/test-globalopts
author Jesse Glick <jesse.glick@sun.com>
Fri, 25 Jan 2008 04:11:32 -0500
changeset 6150 aafdea37f796
parent 4734 9ac493f12901
child 7429 dbc40381620e
permissions -rwxr-xr-x
Infer a --repository argument from command arguments when reasonable. In particular: if invoked without -R from a CWD not inside a repo, having been passed one or more file paths as command arguments, where the nearest enclosing repo of all of those paths is the same, quietly infer a -R option for that repo. Otherwise abort with an error message as before.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2293
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
     1
#!/bin/sh
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
     2
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
     3
hg init a
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
     4
cd a
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
     5
echo a > a
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
     6
hg ci -A -d'1 0' -m a
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
     7
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
     8
cd ..
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
     9
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    10
hg init b
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    11
cd b
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    12
echo b > b
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    13
hg ci -A -d'1 0' -m b
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    14
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    15
cd ..
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    16
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    17
hg clone a c
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    18
cd c
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    19
hg pull -f ../b
4365
46280c004f22 change tests to use simplemerge by default
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 2843
diff changeset
    20
hg merge
2293
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    21
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    22
cd ..
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    23
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    24
echo %% -R/--repository
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    25
hg -R a tip
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    26
hg --repository b tip
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    27
6150
aafdea37f796 Infer a --repository argument from command arguments when reasonable.
Jesse Glick <jesse.glick@sun.com>
parents: 4734
diff changeset
    28
echo %% implicit -R
aafdea37f796 Infer a --repository argument from command arguments when reasonable.
Jesse Glick <jesse.glick@sun.com>
parents: 4734
diff changeset
    29
hg ann a/a
aafdea37f796 Infer a --repository argument from command arguments when reasonable.
Jesse Glick <jesse.glick@sun.com>
parents: 4734
diff changeset
    30
hg ann a/a a/a
aafdea37f796 Infer a --repository argument from command arguments when reasonable.
Jesse Glick <jesse.glick@sun.com>
parents: 4734
diff changeset
    31
hg ann a/a b/b
aafdea37f796 Infer a --repository argument from command arguments when reasonable.
Jesse Glick <jesse.glick@sun.com>
parents: 4734
diff changeset
    32
hg -R b ann a/a
aafdea37f796 Infer a --repository argument from command arguments when reasonable.
Jesse Glick <jesse.glick@sun.com>
parents: 4734
diff changeset
    33
hg log
aafdea37f796 Infer a --repository argument from command arguments when reasonable.
Jesse Glick <jesse.glick@sun.com>
parents: 4734
diff changeset
    34
2293
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    35
echo %% abbrev of long option
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    36
hg --repo c tip
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    37
4728
7bb5bcb089e3 Added test for earlygetopt fixes (36d23de02da1 and 79cc512a34ed)
Thomas Arendsen Hein <thomas@intevation.de>
parents: 4365
diff changeset
    38
echo "%% earlygetopt with duplicate options (36d23de02da1)"
7bb5bcb089e3 Added test for earlygetopt fixes (36d23de02da1 and 79cc512a34ed)
Thomas Arendsen Hein <thomas@intevation.de>
parents: 4365
diff changeset
    39
hg --cwd a --cwd b --cwd c tip
7bb5bcb089e3 Added test for earlygetopt fixes (36d23de02da1 and 79cc512a34ed)
Thomas Arendsen Hein <thomas@intevation.de>
parents: 4365
diff changeset
    40
hg --repo c --repository b -R a tip
7bb5bcb089e3 Added test for earlygetopt fixes (36d23de02da1 and 79cc512a34ed)
Thomas Arendsen Hein <thomas@intevation.de>
parents: 4365
diff changeset
    41
4732
b0520e3903fe Disallow short earlygetop option combined with other short options
Thomas Arendsen Hein <thomas@intevation.de>
parents: 4728
diff changeset
    42
echo "%% earlygetopt short option without following space"
4728
7bb5bcb089e3 Added test for earlygetopt fixes (36d23de02da1 and 79cc512a34ed)
Thomas Arendsen Hein <thomas@intevation.de>
parents: 4365
diff changeset
    43
hg -q -Rb tip
7bb5bcb089e3 Added test for earlygetopt fixes (36d23de02da1 and 79cc512a34ed)
Thomas Arendsen Hein <thomas@intevation.de>
parents: 4365
diff changeset
    44
4734
9ac493f12901 Abort if earlygetopt fails to detect an option.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 4732
diff changeset
    45
echo "%% earlygetopt with illegal abbreviations"
9ac493f12901 Abort if earlygetopt fails to detect an option.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 4732
diff changeset
    46
hg --confi "foo.bar=baz"
9ac493f12901 Abort if earlygetopt fails to detect an option.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 4732
diff changeset
    47
hg --cw a tip
9ac493f12901 Abort if earlygetopt fails to detect an option.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 4732
diff changeset
    48
hg --rep a tip
9ac493f12901 Abort if earlygetopt fails to detect an option.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 4732
diff changeset
    49
hg --repositor a tip
9ac493f12901 Abort if earlygetopt fails to detect an option.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 4732
diff changeset
    50
hg -qR a tip
9ac493f12901 Abort if earlygetopt fails to detect an option.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 4732
diff changeset
    51
hg -qRa tip
9ac493f12901 Abort if earlygetopt fails to detect an option.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 4732
diff changeset
    52
2293
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    53
echo %% --cwd
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    54
hg --cwd a parents
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    55
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    56
echo %% -y/--noninteractive - just be sure it is parsed
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    57
hg --cwd a tip -q --noninteractive
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    58
hg --cwd a tip -q -y
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    59
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    60
echo %% -q/--quiet
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    61
hg -R a -q tip
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    62
hg -R b -q tip
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    63
hg -R c --quiet parents
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    64
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    65
echo %% -v/--verbose
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    66
hg --cwd c head -v
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    67
hg --cwd b tip --verbose
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    68
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    69
echo %% --config
2843
0b9ac7dfcf56 Fix some tests for portability.
Danek Duvall <danek.duvall@sun.com>
parents: 2528
diff changeset
    70
hg --cwd c --config paths.quuxfoo=bar paths | grep quuxfoo > /dev/null && echo quuxfoo
2293
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    71
hg --cwd c --config '' tip -q
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    72
hg --cwd c --config a.b tip -q
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    73
hg --cwd c --config a tip -q
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    74
hg --cwd c --config a.= tip -q
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    75
hg --cwd c --config .b= tip -q
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    76
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    77
echo %% --debug
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    78
hg --cwd c log --debug
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    79
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    80
echo %% --traceback
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    81
hg --cwd c --config x --traceback tip 2>&1 | grep -i 'traceback'
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    82
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    83
echo %% --time
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    84
hg --cwd a --time tip 2>&1 | grep '^Time:' | sed 's/[0-9][0-9]*/x/g'
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    85
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    86
echo %% --version
2528
049f930f18c1 Workaround to work with less sophisticated sed versions.
Sascha Wilde <wilde@sha-bang.de>
parents: 2319
diff changeset
    87
hg --version -q | sed 's/version [^)]*/version xxx/'
2293
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    88
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    89
echo %% -h/--help
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    90
hg -h
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    91
hg --help
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    92
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    93
echo %% not tested: --debugger
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    94