sapling/tests/test-alias
Steve Losh c2cf2592b2 dispatch: add shell aliases
This patch adds git-style "shell aliases" to Mercurial.

Any alias with a definition beginning with a '!' will be treated as a shell
alias. For example:

    [alias]
    echo = !echo
    qempty = !hg qrefresh -X "`hg root`" ; echo Emptied patch "`hg qtop`"

    $ hg echo foo
    foo
    $ hg qempty
    Emptied patch foo
    $
2010-07-07 18:49:43 -04:00

71 lines
942 B
Bash
Executable File

#!/bin/sh
cat >> $HGRCPATH <<EOF
[alias]
myinit = init
cleanstatus = status -c
unknown = bargle
ambiguous = s
recursive = recursive
nodefinition =
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
[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
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