Re: Useful tip about !aliases
- From
Johannes Schindelin <johannes.schindelin@gmx.de>
- Date
- Jul 16, 2008, 00:50 UTC
- Message-ID
- <alpine.DEB.1.00.0807160250120.2841@eeepc-johanness>
- In-Reply-To
- <3BD7F543-7CB4-48B6-8D2C-DEA2ADC6EF5F@sb.org>
Hi,
On Tue, 15 Jul 2008, Kevin Ballard wrote:
Show 15 quoted lines
> Here's something I discovered recently about !aliases that other folks might
> find useful. The canonical form for a shell alias is something like
>
> git config alias.foo '!echo bar'
>
> where any args given to foo, as in `git foo blah` are passed along to the
> shell, so in this case `echo bar blah` would be invoked.
>
> Something that I find very useful is the ability to interpolate arguments into
> the middle of a command. This doesn't seem possible at first glance, not
> without a helper script. But it certainly is possible, with the help of shell
> functions:
>
> git config alias.reverse '!foo () { args=''; while [[ -n "$*" ]]; do args="$1
> $args"; shift; done; echo $args; }; foo'On the gitwiki, you will find a more elegant solution using "sh -c".
Ciao, Dscho