[StGIT PATCH] allow --cc=myself to work again
- From
- Alex Chiang <achiang@hp.com>
- Date
- Nov 13, 2009, 19:27 UTC
- Message-ID
- <20091113192742.GC1800@ldl.fc.hp.com>
commit cd74a041 filtered duplicate email addresses, especially with the --auto option.
However, it broke a common practice of cc'ing yourself on a patch. [nb, I don't do this myself, but there are several legit reasons]
This patch allows you to do something like:
stg mail --to=<someaddr> --cc=<myaddr> --auto <patch>
Under my testing, with <myaddr> in the Signed-off-by: path:
- we still do not send duplicates to <myaddr> (cd74a041 still holds) - we do not Cc: <myaddr> unless explicitly specified with --cc=
I believe this is the behaviour that closest matches what a user actually wants without sending multiple, annoying Cc:'s.
Signed-off-by: Alex Chiang <achiang@hp.com> ---
diff --git a/stgit/commands/mail.py b/stgit/commands/mail.py index abd42e4..4b0ac7b 100644 --- a/stgit/commands/mail.py +++ b/stgit/commands/mail.py @@ -272,9 +272,8 @@ def __build_address_headers(msg, options, extra_cc = []): cc_set = __update_header('Cc', cc_addr, to_set) bcc_set = __update_header('Bcc', bcc_addr, to_set.union(cc_set)) - # --auto generated addresses, don't include the sender - from_set = __update_header('From') - __update_header('Cc', extra_cc_addr, to_set.union(bcc_set).union(from_set)) + # --auto generated addresses + __update_header('Cc', extra_cc_addr, to_set.union(bcc_set)) # update other address headers __update_header('Reply-To') @@ -528,8 +527,11 @@ def __build_message(tmpl, patch, patch_nr, total_nr, msg_id, ref_id, options): except Exception, ex: raise CmdException, 'template parsing error: %s' % str(ex) + # Get signers, but filter sender from list. Results in: + # do not auto-cc the sender unless explicitly specified with --cc= if options.auto: extra_cc = __get_signers_list(descr) + extra_cc = list(set.symmetric_difference(set([sender]), set(extra_cc))) else: extra_cc = []