[PATCH 2/2] send-email: add series-cc-cmd option
cc-cmd is only per-file, and many times receipients get lost without seing the full patch series.
So, add an option for series-cc-cmd, which receives as an argument rev-list options, just like format-patch.
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
---
Documentation/git-send-email.txt | 7 +++++++
contrib/completion/git-completion.bash | 2 +-
git-send-email.perl | 9 ++++++++-
3 files changed, 16 insertions(+), 2 deletions(-)
Show changes to 3 files +16 −2
Documentation/git-send-email.txt, contrib/completion/git-completion.bash, git-send-email.perl
diff --git a/Documentation/git-send-email.txt b/Documentation/git-send-email.txt
index 3241170..1161d3e 100644
--- a/Documentation/git-send-email.txt
+++ b/Documentation/git-send-email.txt
@@ -218,6 +218,13 @@ Automating
Output of this command must be single email address per line.
Default is the value of 'sendemail.cccmd' configuration value.
+--series-cc-cmd=<command>::
+ Specify a command to execute to generate "Cc:" entries for the whole
+ patch series.
+ The arguments would be the same rev-list options the user specified.
+ Output of this command must be single email address per line.
+ Default is the value of 'sendemail.seriescccmd' configuration value.
+
--[no-]chain-reply-to::
If this is set, each email will be sent as a reply to the previous
email sent. If disabled with "--no-chain-reply-to", all emails after
diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index be800e0..0b04229 100644
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -1555,7 +1555,7 @@ _git_send_email ()
return
;;
--*)
- __gitcomp "--annotate --bcc --cc --cc-cmd --chain-reply-to
+ __gitcomp "--annotate --bcc --cc --cc-cmd --series-cc-cmd --chain-reply-to
--compose --confirm= --dry-run --envelope-sender
--from --identity
--in-reply-to --no-chain-reply-to --no-signed-off-by-cc
diff --git a/git-send-email.perl b/git-send-email.perl
index 26d4477..da89ac6 100755
--- a/git-send-email.perl
+++ b/git-send-email.perl
@@ -191,7 +191,7 @@ sub do_edit {
# Variables with corresponding config settings
my ($thread, $chain_reply_to, $suppress_from, $signed_off_by_cc);
-my ($to_cmd, $cc_cmd);
+my ($to_cmd, $cc_cmd, $series_cc_cmd);
my ($smtp_server, $smtp_server_port, @smtp_server_options);
my ($smtp_authuser, $smtp_encryption);
my ($identity, $aliasfiletype, @alias_files, $smtp_domain);
@@ -224,6 +224,7 @@ my %config_settings = (
"tocmd" => \$to_cmd,
"cc" => \@initial_cc,
"cccmd" => \$cc_cmd,
+ "seriescccmd" => \$series_cc_cmd,
"aliasfiletype" => \$aliasfiletype,
"bcc" => \@bcclist,
"suppresscc" => \@suppress_cc,
@@ -305,6 +306,7 @@ my $rc = GetOptions("h" => \$help,
"compose" => \$compose,
"quiet" => \$quiet,
"cc-cmd=s" => \$cc_cmd,
+ "series-cc-cmd=s" => \$series_cc_cmd,
"suppress-from!" => \$suppress_from,
"suppress-cc=s" => \@suppress_cc,
"signed-off-cc|signed-off-by-cc!" => \$signed_off_by_cc,
@@ -766,6 +768,11 @@ if (!@initial_to && !defined $to_cmd) {
$prompting++;
}
+if (@rev_list_opts) {
+ push @initial_cc, recipients_cmd("series-cc-cmd", "cc", $series_cc_cmd, @rev_list_opts)
+ if defined $series_cc_cmd;
+}
+
sub expand_aliases {
return map { expand_one_alias($_) } @_;
}
--
1.8.0