diff mercurial/mail.py @ 49051:1d6c6ad645e1

mail: don't complain about a multi-word email.method I want to be able to set email.method to "ssh relay /usr/sbin/sendmail" without needing an extra trivial shell script. This works fine since we pass the full command to a shell, except for validateconfig trying to find it in $PATH. Differential Revision: https://phab.mercurial-scm.org/D7542
author Julien Cristau <jcristau@debian.org>
date Mon, 02 Dec 2019 14:45:00 +0100
parents f0c445a8e324
children 1c7453f2bb57
line wrap: on
line diff
--- a/mercurial/mail.py	Mon Mar 28 18:53:55 2022 +0200
+++ b/mercurial/mail.py	Mon Dec 02 14:45:00 2019 +0100
@@ -260,9 +260,11 @@
                 )
             )
     else:
-        if not procutil.findexe(method):
+        command = procutil.shellsplit(method)
+        command = command[0] if command else b''
+        if not (command and procutil.findexe(command)):
             raise error.Abort(
-                _(b'%r specified as email transport, but not in PATH') % method
+                _(b'%r specified as email transport, but not in PATH') % command
             )