aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicolas Boichat2020-07-13 10:50:00 +0800
committerSimon Glass2020-07-20 11:37:47 -0600
commit754c05caf306c7b587698193477bed12014e4164 (patch)
tree22a388361c475ece73d5475d7189c21fdeb6cb32
parentb589b809712b78ce74cad1594e1e04116b77157a (diff)
patman: Make sure sendemail.suppresscc is (un)set correctly
Setting sendemail.suppresscc to all or cccmd leads to --cc-cmd parameter being ignored, and emails going either nowhere, or just to the To: line maintainer. Signed-off-by: Nicolas Boichat <drinkcat@chromium.org> Reviewed-by: Simon Glass <sjg@chromium.org>
-rw-r--r--tools/patman/control.py2
-rw-r--r--tools/patman/gitutil.py25
2 files changed, 27 insertions, 0 deletions
diff --git a/tools/patman/control.py b/tools/patman/control.py
index e67867b845c..8f4afeab188 100644
--- a/tools/patman/control.py
+++ b/tools/patman/control.py
@@ -166,6 +166,8 @@ def send(args):
ok = check_patches(series, patch_files, args.check_patch,
args.verbose)
+ ok = ok and gitutil.CheckSuppressCCConfig()
+
its_a_go = ok or args.ignore_errors
if its_a_go:
email_patches(
diff --git a/tools/patman/gitutil.py b/tools/patman/gitutil.py
index b683481a574..192d8e69b32 100644
--- a/tools/patman/gitutil.py
+++ b/tools/patman/gitutil.py
@@ -344,6 +344,31 @@ def BuildEmailList(in_list, tag=None, alias=None, raise_on_error=True):
return ['%s %s%s%s' % (tag, quote, email, quote) for email in result]
return result
+def CheckSuppressCCConfig():
+ """Check if sendemail.suppresscc is configured correctly.
+
+ Returns:
+ True if the option is configured correctly, False otherwise.
+ """
+ suppresscc = command.OutputOneLine('git', 'config', 'sendemail.suppresscc',
+ raise_on_error=False)
+
+ # Other settings should be fine.
+ if suppresscc == 'all' or suppresscc == 'cccmd':
+ col = terminal.Color()
+
+ print((col.Color(col.RED, "error") +
+ ": git config sendemail.suppresscc set to %s\n" % (suppresscc)) +
+ " patman needs --cc-cmd to be run to set the cc list.\n" +
+ " Please run:\n" +
+ " git config --unset sendemail.suppresscc\n" +
+ " Or read the man page:\n" +
+ " git send-email --help\n" +
+ " and set an option that runs --cc-cmd\n")
+ return False
+
+ return True
+
def EmailPatches(series, cover_fname, args, dry_run, raise_on_error, cc_fname,
self_only=False, alias=None, in_reply_to=None, thread=False,
smtp_server=None):