tests/test-alias
author Dan Villiom Podlaski Christiansen <danchr@gmail.com>
Tue, 27 Jul 2010 14:43:40 +0200
changeset 11695 ee8f36a6c766
parent 11681 c5e555e064d0
permissions -rwxr-xr-x
alias: improved diagnostic when arguments include --cwd, etc. The logic pre-emptively checks for -R, --repo, --repository and --cwd in order to give the user a more helpful error message. In addition, each option is handled invididually, which avoids listing them all in the error. Before: % hg --config alias.broken='push --cwd /dev/null' broken abort: Option --cwd may not be abbreviated! After: % hg --config alias.broken='push --cwd /dev/null' broken error in definition for alias 'broken': --cwd may only be given on the command line

#!/bin/sh

cat >> $HGRCPATH <<EOF
[alias]
myinit = init
cleanstatus = status -c
unknown = bargle
ambiguous = s
recursive = recursive
nodefinition =
no--cwd = status --cwd elsewhere
no-R = status -R elsewhere
no--repo = status --repo elsewhere
no--repository = status --repository elsewhere
mylog = log
lognull = log -r null
shortlog = log --template '{rev} {node|short} | {date|isodate}\n'
dln = lognull --debug
nousage = rollback
put = export -r 0 -o "\$FOO/%R.diff"
echo = !echo
rt = root

[defaults]
mylog = -q
lognull = -q
log = -v
EOF

echo '% basic'
hg myinit alias

echo '% unknown'
hg unknown
hg help unknown

echo '% ambiguous'
hg ambiguous
hg help ambiguous

echo '% recursive'
hg recursive
hg help recursive

echo '% no definition'
hg nodef
hg help nodef

echo '% invalid options'
hg no--cwd
hg help no--cwd
hg no-R
hg help no-R
hg no--repo
hg help no--repo
hg no--repository
hg help no--repository

cd alias

echo '% no usage'
hg nousage

echo foo > foo
hg ci -Amfoo

echo '% with opts'
hg cleanst

echo '% with opts and whitespace'
hg shortlog

echo '% interaction with defaults'
hg mylog
hg lognull

echo '% properly recursive'
hg dln

echo '% path expanding'
FOO=`pwd` hg put
cat 0.diff

echo '% shell aliases'
hg echo foo
echo '% invalid arguments'
hg rt foo

exit 0