Skip to content

Commit

Permalink
Merge branch 'jp/send-email-cc'
Browse files Browse the repository at this point in the history
* jp/send-email-cc:
  git-send-email --cc-cmd
  • Loading branch information
Junio C Hamano committed Sep 1, 2007
2 parents a94eda6 + 324a8bd commit 4e837a9
Show file tree
Hide file tree
Showing 2 changed files with 31 additions and 2 deletions.
9 changes: 9 additions & 0 deletions Documentation/git-send-email.txt
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,12 @@ The --bcc option must be repeated for each user you want on the bcc list.
+
The --cc option must be repeated for each user you want on the cc list.

--cc-cmd::
Specify a command to execute once per patch file which
should generate patch file specific "Cc:" entries.
Output of this command must be single email address per line.
Default is the value of 'sendemail.cccmd' configuration value.

--chain-reply-to, --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
Expand Down Expand Up @@ -124,6 +130,9 @@ sendemail.aliasfiletype::
Format of the file(s) specified in sendemail.aliasesfile. Must be
one of 'mutt', 'mailrc', 'pine', or 'gnus'.

sendemail.cccmd::
Command to execute to generate per patch file specific "Cc:"s.

sendemail.bcc::
Email address (or alias) to always bcc.

Expand Down
24 changes: 22 additions & 2 deletions git-send-email.perl
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,9 @@ sub usage {
--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.
Expand Down Expand Up @@ -160,13 +163,14 @@ sub format_2822_time {
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) {
Expand All @@ -192,6 +196,7 @@ sub format_2822_time {
"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,
Expand Down Expand Up @@ -655,11 +660,26 @@ sub send_message
}
}
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
Expand Down

0 comments on commit 4e837a9

Please sign in to comment.