git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[StGit PATCH v2 6/6] stg mail: don't parse To/Cc/Bcc in --git mode

From
ACAlex Chiang <achiang@hp.com>
Date
Dec 2, 2009, 00:46 UTC
Message-ID
<20091202004632.7737.84887.stgit@bob.kio>
In-Reply-To
<20091202003503.7737.51579.stgit@bob.kio>

When using stg mail in --git mode, do not parse command-line To/Cc/Bcc addresses.

Instead, we pass them directly to git send-email.
This allows us to leverage git send-email's support for email aliases.
Cc: Karl Wiberg <kha@treskal.com>
Signed-off-by: Alex Chiang <achiang@hp.com>
---
 stgit/commands/mail.py |   14 +++++---------
 1 files changed, 5 insertions(+), 9 deletions(-)
diff --git a/stgit/commands/mail.py b/stgit/commands/mail.py
index 8a33c22..d108e75 100644
--- a/stgit/commands/mail.py
+++ b/stgit/commands/mail.py
@@ -247,12 +247,6 @@ def __send_message_git(msg, options):
         if getattr(options, x):
             cmd.extend('--%s=%s' % (x, a) for a in getattr(options, x))
 
-    # XXX: hack for now so that we don't duplicate To/Cc/Bcc headers
-    # in the mail, as git send-email inserts those for us.
-    del msg['To']
-    del msg['Cc']
-    del msg['Bcc']
-
     (fd, path) = mkstemp()
     os.write(fd, msg.as_string(options.mbox))
     os.close(fd)
@@ -277,13 +271,13 @@ def __send_message(type, tmpl, options, *args):
     msg_id = email.Utils.make_msgid('stgit')
     msg = build(tmpl, msg_id, options, *args)
 
-    from_addr, to_addrs = __parse_addresses(msg)
     msg_str = msg.as_string(options.mbox)
     if options.mbox:
         out.stdout_raw(msg_str + '\n')
         return msg_id
 
     if not options.git:
+        from_addr, to_addrs = __parse_addresses(msg)
         out.start('Sending ' + outstr)
 
     smtpserver = options.smtp_server or config.get('stgit.smtpserver')
@@ -499,7 +493,8 @@ def __build_cover(tmpl, msg_id, options, patches):
     except Exception, ex:
         raise CmdException, 'template parsing error: %s' % str(ex)
 
-    __build_address_headers(msg, options)
+    if not options.git:
+        __build_address_headers(msg, options)
     __build_extra_headers(msg, msg_id, options.refid)
     __encode_message(msg)
 
@@ -609,7 +604,8 @@ def __build_message(tmpl, msg_id, options, patch, patch_nr, total_nr, ref_id):
     else:
         extra_cc = []
 
-    __build_address_headers(msg, options, extra_cc)
+    if not options.git:
+        __build_address_headers(msg, options, extra_cc)
     __build_extra_headers(msg, msg_id, ref_id)
     __encode_message(msg)
 
Previous: Alex ChiangNext: Karl Wiberg
Message 13 of 19 in “add support for git send-email”
  1. 0/6 add support for git send-emailAlex Chiang, Dec 2, 2009
  2. 1/6 stg mail: Refactor __send_message and friendsAlex Chiang, Dec 2, 2009
  3. Karl WibergDec 2, 2009
  4. Alex ChiangDec 3, 2009
  5. 1/6 stg mail: Refactor __send_message and friendsAlex Chiang, Dec 3, 2009
  6. 2/6 stg mail: reorder __build_[message|cover] parametersAlex Chiang, Dec 2, 2009
  7. 3/6 stg mail: make __send_message do moreAlex Chiang, Dec 2, 2009
  8. Karl WibergDec 2, 2009
  9. Alex ChiangDec 3, 2009
  10. Karl WibergDec 4, 2009
  11. 4/6 stg mail: factor out __update_headerAlex Chiang, Dec 2, 2009
  12. 5/6 stg mail: add basic support for git send-emailAlex Chiang, Dec 2, 2009
  13. 6/6 stg mail: don't parse To/Cc/Bcc in --git modeAlex Chiang, Dec 2, 2009
  14. Karl WibergDec 2, 2009
  15. Alex ChiangDec 3, 2009
  16. Karl WibergDec 2, 2009
  17. Catalin MarinasDec 2, 2009
  18. Catalin MarinasDec 6, 2009
  19. Karl WibergDec 7, 2009

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.