Thread (11 messages) flat view 11 messages, 5 authors, 2016-06-15

Re: [PATCH] Make '!' aliases more useful

From: Johannes Schindelin <hidden>
Date: 2016-06-15 22:43:19

Hi,

On Tue, 3 Jul 2007, Alex Riesen wrote:
On 7/2/07, Theodore Tso [off-list ref] wrote:
quoted
On Mon, Jul 02, 2007 at 04:55:24PM +0100, Johannes Schindelin wrote:
quoted
quoted
But what if you don't want the argument passed at the end of the
alias, but somewhere else?  I suspect the better answer would be to
support $* and $1, $2, $3, et. al interpolation, no?  It was on my
list of things to do when I had a spare moment, but I never got around
to it.
There is a point where you do not want to complicate git, but rather
write
quoted
a script. This is such a point IMHO.
Such a point exists, I agree, but I would draw after $* and $1/$2/$3
interpolation.  There is a lot more value that gets added with
positional arguments support, and it makes git aliases more usable on
platforms such as Windows where scripting capability is much more
limited.
I don't think it is _possible_ to make it work on Windows properly: you have
to quote the arguments with whitespaces as there is nothing like argv there
(windows programs don't use command line, so it does not exist).
Since the "!" aliases use system() (i.e. no argv, but a plain string as 
parameter), my patch already does that. It quotes the arguments properly.
As the quoting is implemented in the programs the rules are all different
and mostly suboptimal.
You mean the programs that could be called via "!" aliases? Yes, that is 
right. And there is also the problem that you have to convert path names 
if you are working on Windows, because of this c:\&@!§$ braindamage.

However, in this case Junio's idea to use the shell to do the hard work is 
again an alternative:

	[alias]
		alex = !sh -c 'd:\program.exe $(cygpath -w "$1")'

FWIW I do not think that executing the shell from time to time is a big 
problem. It's only that I would like to get rid of the dependency on perl 
and bash for the plain Windows user, who will not dare to leave the gui 
into the command line jungle where there be bisons, yaccs and kills.

Ciao,
Dscho
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help