summaryrefslogtreecommitdiff
path: root/git-send-email.perl
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2007-09-01 13:15:27 -0700
committerJunio C Hamano <gitster@pobox.com>2007-09-01 13:15:27 -0700
commit4e837a98b65fbe0c83376cae5167605b771421d8 (patch)
tree6a7526e919a30ee7b8a96f0dd5c88728452b364e /git-send-email.perl
parenta94eda65d37149e81356b6a263ce03015d3f5d73 (diff)
parent324a8bd0cfb696458bc651d3713d7523fd0d7479 (diff)
downloadgit-4e837a98b65fbe0c83376cae5167605b771421d8.tar.gz
Merge branch 'jp/send-email-cc'
* jp/send-email-cc: git-send-email --cc-cmd
Diffstat (limited to 'git-send-email.perl')
-rwxr-xr-xgit-send-email.perl24
1 files changed, 22 insertions, 2 deletions
diff --git a/git-send-email.perl b/git-send-email.perl
index f1a8855682..e0b7d1245e 100755
--- a/git-send-email.perl
+++ b/git-send-email.perl
@@ -49,6 +49,9 @@ Options:
--cc Specify an initial "Cc:" list for the entire series
of emails.
+ --cc-cmd Specify a command to execute per file which adds
+ per file specific cc address entries
+
--bcc Specify a list of email addresses that should be Bcc:
on all the emails.
@@ -160,13 +163,14 @@ if ($@) {
my ($quiet, $dry_run) = (0, 0);
# Variables with corresponding config settings
-my ($thread, $chain_reply_to, $suppress_from, $signed_off_cc);
+my ($thread, $chain_reply_to, $suppress_from, $signed_off_cc, $cc_cmd);
my %config_settings = (
"thread" => [\$thread, 1],
"chainreplyto" => [\$chain_reply_to, 1],
"suppressfrom" => [\$suppress_from, 0],
"signedoffcc" => [\$signed_off_cc, 1],
+ "cccmd" => [\$cc_cmd, ""],
);
foreach my $setting (keys %config_settings) {
@@ -192,6 +196,7 @@ my $rc = GetOptions("sender|from=s" => \$sender,
"smtp-server=s" => \$smtp_server,
"compose" => \$compose,
"quiet" => \$quiet,
+ "cc-cmd=s" => \$cc_cmd,
"suppress-from!" => \$suppress_from,
"signed-off-cc|signed-off-by-cc!" => \$signed_off_cc,
"dry-run" => \$dry_run,
@@ -655,11 +660,26 @@ foreach my $t (@files) {
}
}
close F;
+
+ if ($cc_cmd ne "") {
+ open(F, "$cc_cmd $t |")
+ or die "(cc-cmd) Could not execute '$cc_cmd'";
+ while(<F>) {
+ my $c = $_;
+ $c =~ s/^\s*//g;
+ $c =~ s/\n$//g;
+ push @cc, $c;
+ printf("(cc-cmd) Adding cc: %s from: '%s'\n",
+ $c, $cc_cmd) unless $quiet;
+ }
+ close F
+ or die "(cc-cmd) failed to close pipe to '$cc_cmd'";
+ }
+
if (defined $author) {
$message = "From: $author\n\n$message";
}
-
send_message();
# set up for the next message