Thread (3 messages) flat view 3 messages, 3 authors, 2021-02-16

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

From: Jeff King <hidden>
Date: 2021-02-16 19:06:51

On Tue, Feb 16, 2021 at 10:57:39AM -0800, Junio C Hamano wrote:
quoted
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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help