Mercurial > hg
view tests/test-log @ 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 | 2eaaad99f2f0 |
children | efbc09fdefd8 |
line wrap: on
line source
#!/bin/sh hg init a cd a echo a > a hg ci -Ama -d '1 0' hg cp a b hg ci -mb -d '2 0' mkdir dir hg mv b dir hg ci -mc -d '3 0' hg mv a b echo a > d hg add d hg ci -md -d '4 0' hg mv dir/b e hg ci -me -d '5 0' hg log a echo % -f, directory hg log -f dir echo % -f, but no args hg log -f echo % one rename hg log -vf a echo % many renames hg log -vf e echo '% log copies with --copies' hg log -vC --template '{rev} {file_copies}\n' echo '% log copies switch without --copies, with old filecopy template' hg log -v --template '{rev} {file_copies_switch%filecopy}\n' echo '% log copies switch with --copies' hg log -vC --template '{rev} {file_copies_switch}\n' echo '% log copies with hardcoded style and with --style=default' hg log -vC -r4 hg log -vC -r4 --style=default echo % log copies, non-linear manifest hg up -C 3 hg mv dir/b e echo foo > foo hg ci -Ame2 -d '6 0' hg log -v --template '{rev} {file_copies}\n' -r 5 echo % log copies, execute bit set chmod +x e hg ci -me3 -d '7 0' hg log -v --template '{rev} {file_copies}\n' -r 6 echo '% log -p d' hg log -pv d # log --follow tests hg init ../follow cd ../follow echo base > base hg ci -Ambase -d '1 0' echo r1 >> base hg ci -Amr1 -d '1 0' echo r2 >> base hg ci -Amr2 -d '1 0' hg up -C 1 echo b1 > b1 hg ci -Amb1 -d '1 0' echo % log -f hg log -f hg up -C 0 echo b2 > b2 hg ci -Amb2 -d '1 0' echo % log -f -r 1:tip hg log -f -r 1:tip hg up -C 3 hg merge tip echo % log -r . with two parents hg log -r . hg ci -mm12 -d '1 0' echo % log -r . with one parent hg log -r . echo postm >> b1 hg ci -Amb1.1 -d'1 0' echo % log --follow-first hg log --follow-first echo % log -P 2 hg log -P 2 echo '% log -r tip -p --git' hg log -r tip -p --git echo '% log -r ""' hg log -r '' echo '% log -r <some unknown node id>' hg log -r 1000000000000000000000000000000000000000 echo '% log -k r1' hg log -k r1 echo '% log -d -1' hg log -d -1 echo '% log -p -l2 --color=always' hg --config extensions.color= --config color.mode=ansi \ log -p -l2 --color=always echo '% log -r tip --stat' hg log -r tip --stat cd .. hg init usertest cd usertest echo a > a hg ci -A -m "a" -u "User One <user1@example.org>" echo b > b hg ci -A -m "b" -u "User Two <user2@example.org>" hg log -u "User One <user1@example.org>" hg log -u "user1" -u "user2" hg log -u "user3" cd .. hg init branches cd branches echo a > a hg ci -A -m "commit on default" hg branch test echo b > b hg ci -A -m "commit on test" hg up default echo c > c hg ci -A -m "commit on default" hg up test echo c > c hg ci -A -m "commit on test" echo '% log -b default' hg log -b default echo '% log -b test' hg log -b test echo '% log -b dummy' hg log -b dummy echo '% log -b .' hg log -b . echo '% log -b default -b test' hg log -b default -b test echo '% log -b default -b .' hg log -b default -b . echo '% log -b . -b test' hg log -b . -b test echo '% log -b 2' hg log -b 2 echo '% log -p --cwd dir (in subdir)' mkdir dir hg log -p --cwd dir echo '% log -p -R repo' cd dir hg log -p -R .. ../a exit 0