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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Feb 16, 2021 at 10:57:39AM -0800, Junio C Hamano wrote:

> > It looks like there's some weirdness here, though; $smtp_server may be a
> > hostname, and it looks like we use "/" to distinguish a file path. I
> > wonder if allowing "!my-sendmail" would be more consistent with other
> > parts of Git (not to mention more flexible).
> 
> I am not sure '!' prefix fits well here.

Why not? It matches alias config, credential config, and perhaps others
as "treat this as a shell command".

And like a leading "/", it would not be likely to be confused with an
actual hostname.

> When cloning from something (that is not yet known as an entity that
> we must go over the network), we do an equivalent of "test -f" (for
> bundles) and "test -d" (for local repositories), and I think the use
> of "does it refer to a local file" here matches it as a precedent.

Sure, but you cannot say "does it refer to a local file" for a
non-absolute path. And that is the source of the problem, IMHO: there is
no way to signal "this is a command I expect to be executed" except by
using an absolute path.

Or do you mean that we should see if $smtp_server exists in the PATH,
and if so prefer it over a network hostname?

> I do find it sloppy that the check uses file_name_is_absolute() that
> only checks the shape of the string, without seeing if it actually
> exists and is an executable file, though.

Yes, though that comes with its own problems: you mean to say "foo", but
due to a typo or missing program it is not found, and so you hit "foo"
on the network. Probably not the end of the world, but unexpected, I
would say. That's why I'd prefer having a syntactic marker that
indicates what you mean.

(I'd prefer to just have $smtp_program or similar as that signal
instead, but it doesn't seem worth trying to retrofit it now).

-Peff



[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux