Mercurial > hg
changeset 14276:7f16ff9e45b4
merge with stable
author | Martin Geisler <mg@aragost.com> |
---|---|
date | Mon, 09 May 2011 10:52:08 +0200 |
parents | 01472f8f5429 (current diff) 2a6ee654655e (diff) |
children | 4d891ed9a6af |
files | doc/hgrc.5.txt |
diffstat | 1 files changed, 20 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/doc/hgrc.5.txt Sun May 08 16:41:41 2011 -0500 +++ b/doc/hgrc.5.txt Mon May 09 10:52:08 2011 +0200 @@ -200,6 +200,26 @@ existing commands, which will then override the original definitions. This is almost always a bad idea! +An alias can start with an exclamation point (``!``) to make it a +shell alias. A shell alias is executed with the shell and will let you +run arbitrary commands. As an example, :: + + echo = !echo + +will let you do ``hg echo foo`` to have ``foo`` printed in your +terminal. A better example might be:: + + purge = !$HG status --no-status --unknown -0 | xargs -0 rm + +which will make ``hg purge`` delete all unknown files in the +repository in the same manner as the purge extension. + +Shell aliases are executed in an environment where ``$HG`` expand to +the path of the Mercurial that was used to execute the alias. This is +useful when you want to call further Mercurial commands in a shell +alias, as was done above for the purge alias. In addition, +``$HG_ARGS`` expand to the arguments given to Mercurial. In the ``hg +echo foo`` call above, ``$HG_ARGS`` would expand to ``echo foo``. ``auth`` """"""""