summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Glass <[email protected]>2025-05-08 04:38:30 +0200
committerSimon Glass <[email protected]>2025-05-27 10:07:42 +0100
commit0664a956e674027a1383c8c114377dcdf5b86e41 (patch)
tree180147cec0d9f94f514df60420e916d452235fdc
parentdb5d98de55066db3b1ee3514bbf0fd304ec7775e (diff)
u_boot_pylib: Tidy up quoting of cc and to
The current approach to calling 'git send-email' puts double quotes around each email address to ensure that it will pass the shell correctly. This is a bit cumbersome and requires using a shell to sort it all out. Drop the quotes and use command.run() instead, to simplify things. This will also make it possible to (later) set the current directory. Signed-off-by: Simon Glass <[email protected]>
-rw-r--r--tools/patman/func_test.py2
-rw-r--r--tools/u_boot_pylib/gitutil.py10
2 files changed, 6 insertions, 6 deletions
diff --git a/tools/patman/func_test.py b/tools/patman/func_test.py
index 3a34302fc57..7f9175ea44f 100644
--- a/tools/patman/func_test.py
+++ b/tools/patman/func_test.py
@@ -292,7 +292,7 @@ class TestFunctional(unittest.TestCase):
self.assertEqual(' Cc: %s' % mel, next(lines))
self.assertEqual(' Cc: %s' % rick, next(lines))
expected = ('Git command: git send-email --annotate '
- '--in-reply-to="%s" --to "[email protected]" '
+ '--in-reply-to="%s" --to [email protected] '
'--cc "%s" --cc-cmd "%s send --cc-cmd %s" %s %s'
% (in_reply_to, stefan, sys.argv[0], cc_file, cover_fname,
' '.join(args)))
diff --git a/tools/u_boot_pylib/gitutil.py b/tools/u_boot_pylib/gitutil.py
index 7d3a0b68c53..e5a466c8cc6 100644
--- a/tools/u_boot_pylib/gitutil.py
+++ b/tools/u_boot_pylib/gitutil.py
@@ -396,7 +396,6 @@ def build_email_list(in_list, alias, tag=None, warn_on_error=True):
>>> build_email_list(['john', 'mary'], alias, 'Cc')
['Cc [email protected]', 'Cc Mary Poppins <[email protected]>']
"""
- quote = '"' if tag and tag[0] == '-' else ''
raw = []
for item in in_list:
raw += lookup_email(item, alias, warn_on_error=warn_on_error)
@@ -405,7 +404,7 @@ def build_email_list(in_list, alias, tag=None, warn_on_error=True):
if item not in result:
result.append(item)
if tag:
- return [f'{tag} {quote}{email}{quote}' for email in result]
+ return [x for email in result for x in (tag, email)]
return result
@@ -524,13 +523,14 @@ send --cc-cmd cc-fname" cover p1 p2'
cmd += to
cmd += cc
- cmd += ['--cc-cmd', f'"{sys.argv[0]} send --cc-cmd {cc_fname}"']
+ cmd += ['--cc-cmd', f'{sys.argv[0]} send --cc-cmd {cc_fname}']
if cover_fname:
cmd.append(cover_fname)
cmd += args
- cmdstr = ' '.join(cmd)
if not dry_run:
- os.system(cmdstr)
+ command.run(*cmd, capture=False, capture_stderr=False)
+ cmdstr = ' '.join([f'"{x}"' if ' ' in x and not '"' in x else x
+ for x in cmd])
return cmdstr