On 2021-05-12 at 00:35:34, Jeff King wrote: > On Wed, May 12, 2021 at 12:00:51AM +0000, brian m. carlson wrote: > > > > + specify a sendmail-like program instead, either by a full > > > + path-name or by prefixing the program name with `!`. The > > > + program must support the `-i` option. Default value can be > > > + specified by the `sendemail.smtpServer` configuration option; > > > + the built-in default is to search for `sendmail` in `/usr/sbin`, > > > + `/usr/lib` and $PATH if such program is available, falling back > > > + to `localhost` otherwise. > > > > Elsewhere we use the ! syntax we invoke the shell, and I would suggest > > that we do the same here. That means we'll get PATH functionality by > > default and we'll let people do a modicum of scripting if they like. > > Thanks for bringing that up. I agree it makes things more consistent > with other uses of "!", and certainly it's more flexible. It does > introduce an inconsistency with the absolute-path form, as I mentioned > in https://lore.kernel.org/git/YJsiKDNbKclFU00b@xxxxxxxxxxxxxxxxxxxxxxx/. > > I don't know if that's a show-stopper or not. Certainly the > documentation can explain the difference, but it's nice to keep the > rules as simple as possible. I think the minor incompatibility here is okay. It would have been nicer to be able to avoid it, but hindsight is always 20/20. > (My gut feeling is that consistency with other "!" places is more > important than consistency with the absolute-path form). Yeah, I think the shell here can be very useful, because it lets you configure something once in .gitconfig and handle system incompatibilities (a purely hypothetical example): !f() { if [ "$(uname -s)" = Darwin ]; then sendmail "$@"; else postfix "$@"; fi; };f People use this functionality all the time in other places: credential helpers, editors (use a fancy graphical editor if supported, otherwise Vim), and various other places we allow this syntax. -- brian m. carlson (he/him or they/them) Houston, Texas, US
Attachment:
signature.asc
Description: PGP signature