test-alias.t
783 lines
| 20.8 KiB
| text/troff
|
Tads3Lexer
/ tests / test-alias.t
Steve Losh
|
r13434 | $ HGFOO=BAR; export HGFOO | ||
Nicolas Dumazet
|
r11814 | $ cat >> $HGRCPATH <<EOF | ||
> [alias] | ||||
Augie Fackler
|
r15233 | > # should clobber ci but not commit (issue2993) | ||
> ci = version | ||||
Nicolas Dumazet
|
r11814 | > myinit = init | ||
Rodrigo Damazio
|
r37152 | > myinit:doc = This is my documented alias for init. | ||
> myinit:help = [OPTIONS] [BLA] [BLE] | ||||
Yuya Nishihara
|
r21556 | > mycommit = commit | ||
Rodrigo Damazio
|
r37152 | > mycommit:doc = This is my alias with only doc. | ||
Patrick Mezard
|
r16609 | > optionalrepo = showconfig alias.myinit | ||
Nicolas Dumazet
|
r11814 | > cleanstatus = status -c | ||
Rodrigo Damazio
|
r37152 | > cleanstatus:help = [ONLYHELPHERE] | ||
Nicolas Dumazet
|
r11814 | > unknown = bargle | ||
> ambiguous = s | ||||
> recursive = recursive | ||||
Yuya Nishihara
|
r22159 | > disabled = email | ||
Nicolas Dumazet
|
r11814 | > nodefinition = | ||
Yuya Nishihara
|
r21569 | > noclosingquotation = ' | ||
Nicolas Dumazet
|
r11814 | > no--cwd = status --cwd elsewhere | ||
> no-R = status -R elsewhere | ||||
> no--repo = status --repo elsewhere | ||||
> no--repository = status --repository elsewhere | ||||
Simon Heimberg
|
r18693 | > no--config = status --config a.config=1 | ||
Nicolas Dumazet
|
r11814 | > mylog = log | ||
> lognull = log -r null | ||||
Rodrigo Damazio
|
r37152 | > lognull:doc = Logs the null rev | ||
> lognull:help = foo bar baz | ||||
Nicolas Dumazet
|
r11814 | > shortlog = log --template '{rev} {node|short} | {date|isodate}\n' | ||
Alexander Solovyov
|
r14265 | > positional = log --template '{\$2} {\$1} | {date|isodate}\n' | ||
Nicolas Dumazet
|
r11814 | > dln = lognull --debug | ||
Rodrigo Damazio
|
r37152 | > recursivedoc = dln | ||
> recursivedoc:doc = Logs the null rev in debug mode | ||||
Nicolas Dumazet
|
r11814 | > nousage = rollback | ||
> put = export -r 0 -o "\$FOO/%R.diff" | ||||
Mads Kiilerich
|
r16965 | > blank = !printf '\n' | ||
> self = !printf '\$0\n' | ||||
> echoall = !printf '\$@\n' | ||||
> echo1 = !printf '\$1\n' | ||||
> echo2 = !printf '\$2\n' | ||||
> echo13 = !printf '\$1 \$3\n' | ||||
Siddharth Agarwal
|
r22158 | > echotokens = !printf "%s\n" "\$@" | ||
Mads Kiilerich
|
r16965 | > count = !hg log -r "\$@" --template=. | wc -c | sed -e 's/ //g' | ||
> mcount = !hg log \$@ --template=. | wc -c | sed -e 's/ //g' | ||||
Nicolas Dumazet
|
r11814 | > rt = root | ||
Martin Geisler
|
r20117 | > tglog = log -G --template "{rev}:{node|short}: '{desc}' {branches}\n" | ||
Steve Losh
|
r12932 | > idalias = id | ||
> idaliaslong = id | ||||
> idaliasshell = !echo test | ||||
> parentsshell1 = !echo one | ||||
> parentsshell2 = !echo two | ||||
Mads Kiilerich
|
r16965 | > escaped1 = !printf 'test\$\$test\n' | ||
> escaped2 = !sh -c 'echo "HGFOO is \$\$HGFOO"' | ||||
> escaped3 = !sh -c 'echo "\$1 is \$\$\$1"' | ||||
> escaped4 = !printf '\$\$0 \$\$@\n' | ||||
Yuya Nishihara
|
r21556 | > exit1 = !sh -c 'exit 1' | ||
Nicolas Dumazet
|
r11814 | > | ||
> [defaults] | ||||
> mylog = -q | ||||
> lognull = -q | ||||
> log = -v | ||||
> EOF | ||||
basic | ||||
$ hg myinit alias | ||||
Rodrigo Damazio
|
r37152 | help | ||
$ hg help -c | grep myinit | ||||
myinit This is my documented alias for init. | ||||
$ hg help -c | grep mycommit | ||||
mycommit This is my alias with only doc. | ||||
$ hg help -c | grep cleanstatus | ||||
cleanstatus show changed files in the working directory | ||||
$ hg help -c | grep lognull | ||||
lognull Logs the null rev | ||||
$ hg help -c | grep dln | ||||
dln Logs the null rev | ||||
$ hg help -c | grep recursivedoc | ||||
recursivedoc Logs the null rev in debug mode | ||||
$ hg help myinit | ||||
hg myinit [OPTIONS] [BLA] [BLE] | ||||
alias for: hg init | ||||
This is my documented alias for init. | ||||
defined by: * (glob) | ||||
*/* (glob) (?) | ||||
*/* (glob) (?) | ||||
*/* (glob) (?) | ||||
options: | ||||
-e --ssh CMD specify ssh command to use | ||||
--remotecmd CMD specify hg command to run on the remote side | ||||
--insecure do not verify server certificate (ignoring web.cacerts | ||||
config) | ||||
(some details hidden, use --verbose to show complete help) | ||||
$ hg help mycommit | ||||
hg mycommit [OPTION]... [FILE]... | ||||
alias for: hg commit | ||||
This is my alias with only doc. | ||||
defined by: * (glob) | ||||
*/* (glob) (?) | ||||
*/* (glob) (?) | ||||
*/* (glob) (?) | ||||
options ([+] can be repeated): | ||||
-A --addremove mark new/missing files as added/removed before | ||||
committing | ||||
--close-branch mark a branch head as closed | ||||
--amend amend the parent of the working directory | ||||
-s --secret use the secret phase for committing | ||||
-e --edit invoke editor on commit messages | ||||
-i --interactive use interactive mode | ||||
-I --include PATTERN [+] include names matching the given patterns | ||||
-X --exclude PATTERN [+] exclude names matching the given patterns | ||||
-m --message TEXT use text as commit message | ||||
-l --logfile FILE read commit message from file | ||||
-d --date DATE record the specified date as commit date | ||||
-u --user USER record the specified user as committer | ||||
-S --subrepos recurse into subrepositories | ||||
(some details hidden, use --verbose to show complete help) | ||||
$ hg help cleanstatus | ||||
hg cleanstatus [ONLYHELPHERE] | ||||
alias for: hg status -c | ||||
show changed files in the working directory | ||||
Show status of files in the repository. If names are given, only files | ||||
that match are shown. Files that are clean or ignored or the source of a | ||||
copy/move operation, are not listed unless -c/--clean, -i/--ignored, | ||||
-C/--copies or -A/--all are given. Unless options described with "show | ||||
only ..." are given, the options -mardu are used. | ||||
Option -q/--quiet hides untracked (unknown and ignored) files unless | ||||
explicitly requested with -u/--unknown or -i/--ignored. | ||||
Note: | ||||
'hg status' may appear to disagree with diff if permissions have | ||||
changed or a merge has occurred. The standard diff format does not | ||||
report permission changes and diff only reports changes relative to one | ||||
merge parent. | ||||
If one revision is given, it is used as the base revision. If two | ||||
revisions are given, the differences between them are shown. The --change | ||||
option can also be used as a shortcut to list the changed files of a | ||||
revision from its first parent. | ||||
The codes used to show the status of files are: | ||||
M = modified | ||||
A = added | ||||
R = removed | ||||
C = clean | ||||
! = missing (deleted by non-hg command, but still tracked) | ||||
? = not tracked | ||||
I = ignored | ||||
= origin of the previous file (with --copies) | ||||
Returns 0 on success. | ||||
defined by: * (glob) | ||||
*/* (glob) (?) | ||||
*/* (glob) (?) | ||||
*/* (glob) (?) | ||||
options ([+] can be repeated): | ||||
-A --all show status of all files | ||||
-m --modified show only modified files | ||||
-a --added show only added files | ||||
-r --removed show only removed files | ||||
-d --deleted show only deleted (but tracked) files | ||||
-c --clean show only files without changes | ||||
-u --unknown show only unknown (not tracked) files | ||||
-i --ignored show only ignored files | ||||
-n --no-status hide status prefix | ||||
-C --copies show source of copied files | ||||
-0 --print0 end filenames with NUL, for use with xargs | ||||
--rev REV [+] show difference from revision | ||||
--change REV list the changed files of a revision | ||||
-I --include PATTERN [+] include names matching the given patterns | ||||
-X --exclude PATTERN [+] exclude names matching the given patterns | ||||
-S --subrepos recurse into subrepositories | ||||
(some details hidden, use --verbose to show complete help) | ||||
$ hg help recursivedoc | head -n 5 | ||||
hg recursivedoc foo bar baz | ||||
alias for: hg dln | ||||
Logs the null rev in debug mode | ||||
Nicolas Dumazet
|
r11814 | |||
unknown | ||||
$ hg unknown | ||||
Yuya Nishihara
|
r22164 | abort: alias 'unknown' resolves to unknown command 'bargle' | ||
Yuya Nishihara
|
r21572 | [255] | ||
Nicolas Dumazet
|
r11814 | $ hg help unknown | ||
alias 'unknown' resolves to unknown command 'bargle' | ||||
ambiguous | ||||
$ hg ambiguous | ||||
Yuya Nishihara
|
r22164 | abort: alias 'ambiguous' resolves to ambiguous command 's' | ||
Yuya Nishihara
|
r21572 | [255] | ||
Nicolas Dumazet
|
r11814 | $ hg help ambiguous | ||
alias 'ambiguous' resolves to ambiguous command 's' | ||||
recursive | ||||
$ hg recursive | ||||
Yuya Nishihara
|
r22164 | abort: alias 'recursive' resolves to unknown command 'recursive' | ||
Yuya Nishihara
|
r21572 | [255] | ||
Nicolas Dumazet
|
r11814 | $ hg help recursive | ||
alias 'recursive' resolves to unknown command 'recursive' | ||||
Yuya Nishihara
|
r22159 | disabled | ||
$ hg disabled | ||||
Yuya Nishihara
|
r22164 | abort: alias 'disabled' resolves to unknown command 'email' | ||
('email' is provided by 'patchbomb' extension) | ||||
Yuya Nishihara
|
r22159 | [255] | ||
$ hg help disabled | ||||
alias 'disabled' resolves to unknown command 'email' | ||||
Yuya Nishihara
|
r22162 | |||
Yuya Nishihara
|
r22159 | 'email' is provided by the following extension: | ||
patchbomb command to send changesets as (a series of) patch emails | ||||
timeless
|
r29974 | (use 'hg help extensions' for information on enabling extensions) | ||
Yuya Nishihara
|
r22159 | |||
Nicolas Dumazet
|
r11814 | no definition | ||
$ hg nodef | ||||
Yuya Nishihara
|
r22164 | abort: no definition for alias 'nodefinition' | ||
Yuya Nishihara
|
r21572 | [255] | ||
Nicolas Dumazet
|
r11814 | $ hg help nodef | ||
no definition for alias 'nodefinition' | ||||
Yuya Nishihara
|
r21569 | no closing quotation | ||
$ hg noclosing | ||||
Yuya Nishihara
|
r22164 | abort: error in definition for alias 'noclosingquotation': No closing quotation | ||
Yuya Nishihara
|
r21572 | [255] | ||
Yuya Nishihara
|
r21569 | $ hg help noclosing | ||
error in definition for alias 'noclosingquotation': No closing quotation | ||||
Yuya Nishihara
|
r35225 | "--" in alias definition should be preserved | ||
$ hg --config alias.dash='cat --' -R alias dash -r0 | ||||
abort: -r0 not under root '$TESTTMP/alias' | ||||
(consider using '--cwd alias') | ||||
[255] | ||||
Yuya Nishihara
|
r21569 | |||
Nicolas Dumazet
|
r11814 | invalid options | ||
$ hg no--cwd | ||||
Yuya Nishihara
|
r22164 | abort: error in definition for alias 'no--cwd': --cwd may only be given on the command line | ||
Yuya Nishihara
|
r21572 | [255] | ||
Nicolas Dumazet
|
r11814 | $ hg help no--cwd | ||
Yuya Nishihara
|
r22162 | error in definition for alias 'no--cwd': --cwd may only be given on the | ||
command line | ||||
Nicolas Dumazet
|
r11814 | $ hg no-R | ||
Yuya Nishihara
|
r22164 | abort: error in definition for alias 'no-R': -R may only be given on the command line | ||
Yuya Nishihara
|
r21572 | [255] | ||
Nicolas Dumazet
|
r11814 | $ hg help no-R | ||
error in definition for alias 'no-R': -R may only be given on the command line | ||||
$ hg no--repo | ||||
Yuya Nishihara
|
r22164 | abort: error in definition for alias 'no--repo': --repo may only be given on the command line | ||
Yuya Nishihara
|
r21572 | [255] | ||
Nicolas Dumazet
|
r11814 | $ hg help no--repo | ||
Yuya Nishihara
|
r22162 | error in definition for alias 'no--repo': --repo may only be given on the | ||
command line | ||||
Nicolas Dumazet
|
r11814 | $ hg no--repository | ||
Yuya Nishihara
|
r22164 | abort: error in definition for alias 'no--repository': --repository may only be given on the command line | ||
Yuya Nishihara
|
r21572 | [255] | ||
Nicolas Dumazet
|
r11814 | $ hg help no--repository | ||
Yuya Nishihara
|
r22162 | error in definition for alias 'no--repository': --repository may only be given | ||
on the command line | ||||
Simon Heimberg
|
r18693 | $ hg no--config | ||
Yuya Nishihara
|
r22164 | abort: error in definition for alias 'no--config': --config may only be given on the command line | ||
Yuya Nishihara
|
r21572 | [255] | ||
Yuya Nishihara
|
r35225 | $ hg no --config alias.no='--repo elsewhere --cwd elsewhere status' | ||
abort: error in definition for alias 'no': --repo/--cwd may only be given on the command line | ||||
[255] | ||||
$ hg no --config alias.no='--repo elsewhere' | ||||
abort: error in definition for alias 'no': --repo may only be given on the command line | ||||
[255] | ||||
Nicolas Dumazet
|
r11814 | |||
Patrick Mezard
|
r16609 | optional repository | ||
Mads Kiilerich
|
r17015 | #if no-outer-repo | ||
Patrick Mezard
|
r16609 | $ hg optionalrepo | ||
init | ||||
Mads Kiilerich
|
r17015 | #endif | ||
Nicolas Dumazet
|
r11814 | $ cd alias | ||
Patrick Mezard
|
r16609 | $ cat > .hg/hgrc <<EOF | ||
> [alias] | ||||
> myinit = init -q | ||||
> EOF | ||||
$ hg optionalrepo | ||||
init -q | ||||
Nicolas Dumazet
|
r11814 | |||
no usage | ||||
$ hg nousage | ||||
no rollback information available | ||||
Yuya Nishihara
|
r21556 | [1] | ||
Nicolas Dumazet
|
r11814 | |||
$ echo foo > foo | ||||
Augie Fackler
|
r15233 | $ hg commit -Amfoo | ||
Nicolas Dumazet
|
r11814 | adding foo | ||
Yuya Nishihara
|
r27679 | infer repository | ||
$ cd .. | ||||
#if no-outer-repo | ||||
$ hg shortlog alias/foo | ||||
0 e63c23eaa88a | 1970-01-01 00:00 +0000 | ||||
#endif | ||||
$ cd alias | ||||
Nicolas Dumazet
|
r11814 | |||
with opts | ||||
$ hg cleanst | ||||
C foo | ||||
with opts and whitespace | ||||
$ hg shortlog | ||||
0 e63c23eaa88a | 1970-01-01 00:00 +0000 | ||||
Alexander Solovyov
|
r14265 | positional arguments | ||
Matt Mackall
|
r16294 | $ hg positional | ||
abort: too few arguments for command alias | ||||
[255] | ||||
$ hg positional a | ||||
abort: too few arguments for command alias | ||||
[255] | ||||
Alexander Solovyov
|
r14265 | $ hg positional 'node|short' rev | ||
0 e63c23eaa88a | 1970-01-01 00:00 +0000 | ||||
Nicolas Dumazet
|
r11814 | |||
interaction with defaults | ||||
$ hg mylog | ||||
0:e63c23eaa88a | ||||
$ hg lognull | ||||
-1:000000000000 | ||||
properly recursive | ||||
$ hg dln | ||||
changeset: -1:0000000000000000000000000000000000000000 | ||||
Jordi Gutiérrez Hermoso
|
r22765 | phase: public | ||
Nicolas Dumazet
|
r11814 | parent: -1:0000000000000000000000000000000000000000 | ||
parent: -1:0000000000000000000000000000000000000000 | ||||
manifest: -1:0000000000000000000000000000000000000000 | ||||
user: | ||||
date: Thu Jan 01 00:00:00 1970 +0000 | ||||
extra: branch=default | ||||
path expanding | ||||
$ FOO=`pwd` hg put | ||||
$ cat 0.diff | ||||
# HG changeset patch | ||||
# User test | ||||
# Date 0 0 | ||||
Mads Kiilerich
|
r18648 | # Thu Jan 01 00:00:00 1970 +0000 | ||
Nicolas Dumazet
|
r11814 | # Node ID e63c23eaa88ae77967edcf4ea194d31167c478b0 | ||
# Parent 0000000000000000000000000000000000000000 | ||||
foo | ||||
diff -r 000000000000 -r e63c23eaa88a foo | ||||
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 | ||||
+++ b/foo Thu Jan 01 00:00:00 1970 +0000 | ||||
@@ -0,0 +1,1 @@ | ||||
+foo | ||||
Steve Losh
|
r11989 | simple shell aliases | ||
Nicolas Dumazet
|
r11814 | |||
Steve Losh
|
r11989 | $ hg blank | ||
$ hg blank foo | ||||
Steve Losh
|
r12536 | $ hg self | ||
self | ||||
Mads Kiilerich
|
r16965 | $ hg echoall | ||
Steve Losh
|
r11989 | |||
Mads Kiilerich
|
r16965 | $ hg echoall foo | ||
Nicolas Dumazet
|
r11814 | foo | ||
Mads Kiilerich
|
r16965 | $ hg echoall 'test $2' foo | ||
Steve Losh
|
r11989 | test $2 foo | ||
Siddharth Agarwal
|
r22157 | $ hg echoall 'test $@' foo '$@' | ||
test $@ foo $@ | ||||
$ hg echoall 'test "$@"' foo '"$@"' | ||||
test "$@" foo "$@" | ||||
Steve Losh
|
r11989 | $ hg echo1 foo bar baz | ||
foo | ||||
$ hg echo2 foo bar baz | ||||
bar | ||||
$ hg echo13 foo bar baz test | ||||
foo baz | ||||
$ hg echo2 foo | ||||
Siddharth Agarwal
|
r22158 | $ hg echotokens | ||
$ hg echotokens foo 'bar $1 baz' | ||||
foo | ||||
bar $1 baz | ||||
$ hg echotokens 'test $2' foo | ||||
test $2 | ||||
foo | ||||
$ hg echotokens 'test $@' foo '$@' | ||||
test $@ | ||||
foo | ||||
$@ | ||||
$ hg echotokens 'test "$@"' foo '"$@"' | ||||
test "$@" | ||||
foo | ||||
"$@" | ||||
Steve Losh
|
r11989 | $ echo bar > bar | ||
Augie Fackler
|
r15233 | $ hg commit -qA -m bar | ||
Steve Losh
|
r11989 | $ hg count . | ||
1 | ||||
$ hg count 'branch(default)' | ||||
2 | ||||
Steve Losh
|
r12536 | $ hg mcount -r '"branch(default)"' | ||
2 | ||||
Adrian Buehlmann
|
r12656 | $ hg tglog | ||
Mads Kiilerich
|
r18648 | @ 1:042423737847: 'bar' | ||
Adrian Buehlmann
|
r12656 | | | ||
o 0:e63c23eaa88a: 'foo' | ||||
Steve Losh
|
r12536 | |||
Steve Losh
|
r12932 | |||
shadowing | ||||
$ hg i | ||||
hg: command 'i' is ambiguous: | ||||
idalias idaliaslong idaliasshell identify import incoming init | ||||
[255] | ||||
$ hg id | ||||
Mads Kiilerich
|
r18648 | 042423737847 tip | ||
Steve Losh
|
r12932 | $ hg ida | ||
hg: command 'ida' is ambiguous: | ||||
idalias idaliaslong idaliasshell | ||||
[255] | ||||
$ hg idalias | ||||
Mads Kiilerich
|
r18648 | 042423737847 tip | ||
Steve Losh
|
r12932 | $ hg idaliasl | ||
Mads Kiilerich
|
r18648 | 042423737847 tip | ||
Steve Losh
|
r12932 | $ hg idaliass | ||
test | ||||
$ hg parentsshell | ||||
hg: command 'parentsshell' is ambiguous: | ||||
parentsshell1 parentsshell2 | ||||
[255] | ||||
$ hg parentsshell1 | ||||
one | ||||
$ hg parentsshell2 | ||||
two | ||||
Steve Losh
|
r12536 | shell aliases with global options | ||
$ hg init sub | ||||
$ cd sub | ||||
$ hg count 'branch(default)' | ||||
Alexander Plavin
|
r18991 | abort: unknown revision 'default'! | ||
Steve Losh
|
r12536 | 0 | ||
$ hg -v count 'branch(default)' | ||||
Alexander Plavin
|
r18991 | abort: unknown revision 'default'! | ||
Steve Losh
|
r12536 | 0 | ||
$ hg -R .. count 'branch(default)' | ||||
Alexander Plavin
|
r18991 | abort: unknown revision 'default'! | ||
Steve Losh
|
r12536 | 0 | ||
$ hg --cwd .. count 'branch(default)' | ||||
2 | ||||
Mads Kiilerich
|
r16965 | $ hg echoall --cwd .. | ||
Matt Mackall
|
r14886 | |||
Steve Losh
|
r12536 | |||
Yuya Nishihara
|
r35225 | "--" passed to shell alias should be preserved | ||
$ hg --config alias.printf='!printf "$@"' printf '%s %s %s\n' -- --cwd .. | ||||
-- --cwd .. | ||||
Steve Losh
|
r12536 | |||
repo specific shell aliases | ||||
$ cat >> .hg/hgrc <<EOF | ||||
> [alias] | ||||
Mads Kiilerich
|
r16965 | > subalias = !echo sub | ||
Steve Losh
|
r12536 | > EOF | ||
$ cat >> ../.hg/hgrc <<EOF | ||||
> [alias] | ||||
Mads Kiilerich
|
r16965 | > mainalias = !echo main | ||
Steve Losh
|
r12536 | > EOF | ||
shell alias defined in current repo | ||||
$ hg subalias | ||||
sub | ||||
$ hg --cwd .. subalias > /dev/null | ||||
hg: unknown command 'subalias' | ||||
Bryan O'Sullivan
|
r27623 | (did you mean idalias?) | ||
Steve Losh
|
r12536 | [255] | ||
$ hg -R .. subalias > /dev/null | ||||
Matt Mackall
|
r14890 | hg: unknown command 'subalias' | ||
Bryan O'Sullivan
|
r27623 | (did you mean idalias?) | ||
Matt Mackall
|
r14890 | [255] | ||
Steve Losh
|
r12536 | |||
shell alias defined in other repo | ||||
$ hg mainalias > /dev/null | ||||
hg: unknown command 'mainalias' | ||||
Bryan O'Sullivan
|
r27623 | (did you mean idalias?) | ||
Steve Losh
|
r12536 | [255] | ||
$ hg -R .. mainalias | ||||
main | ||||
$ hg --cwd .. mainalias | ||||
main | ||||
Steve Losh
|
r11989 | |||
Augie Fackler
|
r24222 | typos get useful suggestions | ||
$ hg --cwd .. manalias | ||||
hg: unknown command 'manalias' | ||||
(did you mean one of idalias, mainalias, manifest?) | ||||
[255] | ||||
Nicolas Dumazet
|
r11814 | |||
Steve Losh
|
r13434 | shell aliases with escaped $ chars | ||
$ hg escaped1 | ||||
test$test | ||||
$ hg escaped2 | ||||
HGFOO is BAR | ||||
$ hg escaped3 HGFOO | ||||
HGFOO is BAR | ||||
$ hg escaped4 test | ||||
$0 $@ | ||||
FUJIWARA Katsunori
|
r20328 | abbreviated name, which matches against both shell alias and the | ||
command provided extension, should be aborted. | ||||
$ cat >> .hg/hgrc <<EOF | ||||
> [extensions] | ||||
> hgext.rebase = | ||||
FUJIWARA Katsunori
|
r23093 | > EOF | ||
#if windows | ||||
$ cat >> .hg/hgrc <<EOF | ||||
> [alias] | ||||
> rebate = !echo this is %HG_ARGS% | ||||
> EOF | ||||
#else | ||||
$ cat >> .hg/hgrc <<EOF | ||||
FUJIWARA Katsunori
|
r20328 | > [alias] | ||
FUJIWARA Katsunori
|
r22377 | > rebate = !echo this is \$HG_ARGS | ||
FUJIWARA Katsunori
|
r20328 | > EOF | ||
FUJIWARA Katsunori
|
r23093 | #endif | ||
Rodrigo Damazio
|
r37152 | $ cat >> .hg/hgrc <<EOF | ||
> rebate:doc = This is my alias which just prints something. | ||||
> rebate:help = [MYARGS] | ||||
> EOF | ||||
FUJIWARA Katsunori
|
r20328 | $ hg reba | ||
hg: command 'reba' is ambiguous: | ||||
rebase rebate | ||||
[255] | ||||
$ hg rebat | ||||
this is rebate | ||||
FUJIWARA Katsunori
|
r22377 | $ hg rebat --foo-bar | ||
this is rebate --foo-bar | ||||
Steve Losh
|
r13434 | |||
Rodrigo Damazio
|
r37152 | help for a shell alias | ||
$ hg help -c | grep rebate | ||||
rebate This is my alias which just prints something. | ||||
$ hg help rebate | ||||
hg rebate [MYARGS] | ||||
Matt Harbison
|
r37162 | shell alias for: echo this is %HG_ARGS% (windows !) | ||
shell alias for: echo this is $HG_ARGS (no-windows !) | ||||
Rodrigo Damazio
|
r37152 | |||
This is my alias which just prints something. | ||||
defined by:* (glob) | ||||
*/* (glob) (?) | ||||
*/* (glob) (?) | ||||
*/* (glob) (?) | ||||
(some details hidden, use --verbose to show complete help) | ||||
Yuya Nishihara
|
r37157 | invalid character in user-specified help | ||
>>> with open('.hg/hgrc', 'ab') as f: | ||||
... f.write(b'[alias]\n' | ||||
... b'invaliddoc = log\n' | ||||
... b'invaliddoc:doc = \xc0\n' | ||||
... b'invalidhelp = log\n' | ||||
... b'invalidhelp:help = \xc0\n') and None | ||||
$ hg help invaliddoc | ||||
non-ASCII character in alias definition 'invaliddoc:doc' | ||||
$ hg help invalidhelp | ||||
non-ASCII character in alias definition 'invalidhelp:help' | ||||
$ hg invaliddoc | ||||
abort: non-ASCII character in alias definition 'invaliddoc:doc' | ||||
[255] | ||||
$ hg invalidhelp | ||||
abort: non-ASCII character in alias definition 'invalidhelp:help' | ||||
[255] | ||||
Nicolas Dumazet
|
r11814 | invalid arguments | ||
$ hg rt foo | ||||
hg rt: invalid arguments | ||||
Matt Mackall
|
r15203 | hg rt | ||
Nicolas Dumazet
|
r11814 | |||
alias for: hg root | ||||
timeless
|
r29974 | (use 'hg rt -h' to show more help) | ||
Matt Mackall
|
r12316 | [255] | ||
Steve Losh
|
r12748 | |||
invalid global arguments for normal commands, aliases, and shell aliases | ||||
$ hg --invalid root | ||||
hg: option --invalid not recognized | ||||
Mercurial Distributed SCM | ||||
basic commands: | ||||
Olav Reinert
|
r16853 | add add the specified files on the next commit | ||
annotate show changeset information by line for each file | ||||
clone make a copy of an existing repository | ||||
commit commit the specified files or all outstanding changes | ||||
diff diff repository (or selected files) | ||||
export dump the header and diffs for one or more changesets | ||||
forget forget the specified files on the next commit | ||||
init create a new repository in the given directory | ||||
log show revision history of entire repository or files | ||||
anatoly techtonik
|
r23400 | merge merge another revision into working directory | ||
Olav Reinert
|
r16853 | pull pull changes from the specified source | ||
push push changes to the specified destination | ||||
remove remove the specified files on the next commit | ||||
serve start stand-alone webserver | ||||
status show changed files in the working directory | ||||
summary summarize working directory state | ||||
update update working directory (or switch revisions) | ||||
Steve Losh
|
r12748 | |||
timeless
|
r29974 | (use 'hg help' for the full list of commands or 'hg -v' for details) | ||
Steve Losh
|
r12748 | [255] | ||
$ hg --invalid mylog | ||||
hg: option --invalid not recognized | ||||
Mercurial Distributed SCM | ||||
basic commands: | ||||
Olav Reinert
|
r16853 | add add the specified files on the next commit | ||
annotate show changeset information by line for each file | ||||
clone make a copy of an existing repository | ||||
commit commit the specified files or all outstanding changes | ||||
diff diff repository (or selected files) | ||||
export dump the header and diffs for one or more changesets | ||||
forget forget the specified files on the next commit | ||||
init create a new repository in the given directory | ||||
log show revision history of entire repository or files | ||||
anatoly techtonik
|
r23400 | merge merge another revision into working directory | ||
Olav Reinert
|
r16853 | pull pull changes from the specified source | ||
push push changes to the specified destination | ||||
remove remove the specified files on the next commit | ||||
serve start stand-alone webserver | ||||
status show changed files in the working directory | ||||
summary summarize working directory state | ||||
update update working directory (or switch revisions) | ||||
Steve Losh
|
r12748 | |||
timeless
|
r29974 | (use 'hg help' for the full list of commands or 'hg -v' for details) | ||
Steve Losh
|
r12748 | [255] | ||
$ hg --invalid blank | ||||
hg: option --invalid not recognized | ||||
Mercurial Distributed SCM | ||||
basic commands: | ||||
Olav Reinert
|
r16853 | add add the specified files on the next commit | ||
annotate show changeset information by line for each file | ||||
clone make a copy of an existing repository | ||||
commit commit the specified files or all outstanding changes | ||||
diff diff repository (or selected files) | ||||
export dump the header and diffs for one or more changesets | ||||
forget forget the specified files on the next commit | ||||
init create a new repository in the given directory | ||||
log show revision history of entire repository or files | ||||
anatoly techtonik
|
r23400 | merge merge another revision into working directory | ||
Olav Reinert
|
r16853 | pull pull changes from the specified source | ||
push push changes to the specified destination | ||||
remove remove the specified files on the next commit | ||||
serve start stand-alone webserver | ||||
status show changed files in the working directory | ||||
summary summarize working directory state | ||||
update update working directory (or switch revisions) | ||||
Steve Losh
|
r12748 | |||
timeless
|
r29974 | (use 'hg help' for the full list of commands or 'hg -v' for details) | ||
Steve Losh
|
r12748 | [255] | ||
Jun Wu
|
r29087 | environment variable changes in alias commands | ||
Jun Wu
|
r34485 | $ cat > $TESTTMP/expandalias.py <<EOF | ||
Jun Wu
|
r29087 | > import os | ||
Jun Wu
|
r34485 | > from mercurial import cmdutil, commands, registrar | ||
> cmdtable = {} | ||||
> command = registrar.command(cmdtable) | ||||
Pulkit Goyal
|
r36398 | > @command(b'expandalias') | ||
Jun Wu
|
r34485 | > def expandalias(ui, repo, name): | ||
> alias = cmdutil.findcmd(name, commands.table)[1][0] | ||||
Pulkit Goyal
|
r36398 | > ui.write(b'%s args: %s\n' % (name, b' '.join(alias.args))) | ||
Jun Wu
|
r29087 | > os.environ['COUNT'] = '2' | ||
Pulkit Goyal
|
r36398 | > ui.write(b'%s args: %s (with COUNT=2)\n' % (name, b' '.join(alias.args))) | ||
Jun Wu
|
r29087 | > EOF | ||
$ cat >> $HGRCPATH <<'EOF' | ||||
> [extensions] | ||||
Jun Wu
|
r34485 | > expandalias = $TESTTMP/expandalias.py | ||
Jun Wu
|
r29087 | > [alias] | ||
Jun Wu
|
r34485 | > showcount = log -T "$COUNT" -r . | ||
Jun Wu
|
r29087 | > EOF | ||
Jun Wu
|
r34485 | $ COUNT=1 hg expandalias showcount | ||
showcount args: -T 1 -r . | ||||
showcount args: -T 2 -r . (with COUNT=2) | ||||
Jun Wu
|
r29087 | |||
Matt Mackall
|
r15600 | This should show id: | ||
$ hg --config alias.log='id' log | ||||
000000000000 tip | ||||
This shouldn't: | ||||
$ hg --config alias.log='id' history | ||||
Mads Kiilerich
|
r16912 | |||
$ cd ../.. | ||||
Yuya Nishihara
|
r21556 | |||
return code of command and shell aliases: | ||||
$ hg mycommit -R alias | ||||
nothing changed | ||||
[1] | ||||
$ hg exit1 | ||||
[1] | ||||
FUJIWARA Katsunori
|
r23934 | |||
#if no-outer-repo | ||||
$ hg root | ||||
abort: no repository found in '$TESTTMP' (.hg not found)! | ||||
[255] | ||||
$ hg --config alias.hgroot='!hg root' hgroot | ||||
abort: no repository found in '$TESTTMP' (.hg not found)! | ||||
[255] | ||||
#endif | ||||