Mercurial > hg > mercurial-source
view tests/test-alias @ 11707:ee8f36a6c766
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
author | Dan Villiom Podlaski Christiansen <danchr@gmail.com> |
---|---|
date | Tue, 27 Jul 2010 14:43:40 +0200 |
parents | c5e555e064d0 |
children |
line wrap: on
line source
#!/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