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

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

Jeff King <[email-masked]> writes:

>> Obviously this is not a *huge* deal, but it is a minor annoyance. I'm
>> wondering if it would be possible to add a new syntax to config options like
>> this. For example,
>> 
>>     [sendemail]
>>             smtpServer = !msmtp
>> 
>> The leading ! character says "the following value is a command that should
>> be looked up in PATH". This is congruent with alias definitions, where the
>> leading ! means to run the following value as a command directly instead of
>> as a git subcommand.
>> 
>> This also is unambiguous since server hostnames will never begin with a !
>> character.
>
> IMHO this is a good path forward. There's a thread from a few months ago
> which talks about this idea:
>
>   https://lore.kernel.org/git/[email-masked]/
>
> There's some back and forth, and I'm not sure if I convinced Junio in
> the end. But certainly a patch would be a good way to restart the
> conversation. :)

The argument is not just about configuration but applies equally to
its command line argument "--smtp-server=<what>", right?  I think it
makes sense in both of these places.  I further wonder if we should
allow not just a single token, but supplying an initial few arguments,
too, e.g.

	git send-email --smtp-server="/usr/bin/env msmtp"
	git send-email --smtp-server="!my-msa --emulate-sendmail"

Thanks.