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>
This commit is contained in:
Nicolas Boichat 2020-07-13 10:50:00 +08:00 committed by Simon Glass
parent 50c7b723bd
commit 949775689e
2 changed files with 27 additions and 0 deletions

View File

@ -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(

View File

@ -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):