Subject: Re: Syntax for specifying a command in git config

From: Junio C Hamano <[email-masked]>
Date: Wed, 12 May 2021 12:25:16 +0900

Jeff King <[email-masked]> writes:

>> 	git send-email --smtp-server="/usr/bin/env msmtp"
>> 	git send-email --smtp-server="!my-msa --emulate-sendmail"
>
> Yes, the patch under discussion does apply to both the command-line
> option and the config option (and I agree it should).
>
> I didn't think about arguments, but you're right that may be a useful
> feature. And if done via the shell, as brian suggested elsewhere, would
> be more consistent with other parts of Git using "!" syntax.

Heh, it was my tongue-in-cheek way to say we do not need this '!'
new feature, as long as everybody has 'env' in /usr/bin ;-)

> It does make things a little weird in that:
>
>   git send-email --smtp-server='/path/to/my-sendmail foo'
>
> and
>
>   git send-email --smtp-server '!my-sendmail foo'
>
> behave differently (the first does not work; it looks for an executable
> with a space in the name).

True.  Hopefully we do not have to worry about $IFS whitespaces in
an absolute path to the mail submission program?  ... Nah, that's a
wishful thinking.

But then nobody stops you from saying

	git send-email --smtp-server '!/path/to/my-sendmail foo'

so it probably is OK.  We can gradually deprecate the "absolute path"
form and standardise on the "!prefix" form.