Subject: Re: git-send-email: smtpserver in $HOME

From: Junio C Hamano <[email-masked]>
Date: Tue, 16 Feb 2021 10:53:39 -0800

Jan “Khardix” Staněk  <[email-masked]> writes:

> On 2021-02-15, Junio C Hamano wrote:
>> I haven't given too much thought, but offhand do not think of a
>> reason why a change like the attached would break things.
>
> Seems reasonable, but I figured I rather ask beforehand.
>
>>  git-send-email.perl | 2 ++
>>  1 file changed, 2 insertions(+)
>>
>> diff --git c/git-send-email.perl w/git-send-email.perl
>> index 1f425c0809..ff58ac5046 100755
>> --- c/git-send-email.perl
>> +++ w/git-send-email.perl
>> @@ -1006,6 +1006,8 @@ sub expand_one_alias {
>>  		}
>>  	}
>>  	$smtp_server ||= 'localhost'; # could be 127.0.0.1, too... *shrug*
>> +} elsif ($smtp_server =~ /^~/) {
>> +	$smtp_server = glob($smtp_server);
>>  }
>
> This introduces a special case just for handling $smtp_server…

Yes, and that was very much deliberate, as I think

	git send-email --smtp-server=~/bin/my-phoney-sendmail

won't be affected by %config_path_settings.  $smtp_ssl_cert_path has
the same problem already, and I didn't want to make things worse (I
think %config_path_settings is a mistake---it is fine to have a list
of variables that can use ~tilde expansion, but I do not see why it
makes sense to allow the ~tilde expansion when the value came from
configureation files, and not from the command line).

> My concern was that if there is a SMTP server actually named
> i.e. `~someone.example.org`, this change would break that.

Can tilde appear in a valid DNS name?  I doubt it.