Mercurial > hg-stable
view tests/test-alias @ 11524:24965bb270b7
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
$
author | Steve Losh <steve@stevelosh.com> |
---|---|
date | Wed, 07 Jul 2010 18:49:43 -0400 |
parents | 9e250c145c38 |
children | c5e555e064d0 |
line wrap: on
line source
#!/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