Skip to content

Commit

Permalink
Merge branch 'ra/email'
Browse files Browse the repository at this point in the history
* ra/email:
  send-email: Add --cc
  send-email: Add some options for controlling how addresses are automatically added to the cc: list.
  • Loading branch information
Junio C Hamano committed Feb 15, 2006
2 parents 6a9b879 + da140f8 commit 709fb39
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 5 deletions.
10 changes: 10 additions & 0 deletions Documentation/git-send-email.txt
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,9 @@ OPTIONS
-------
The options available are:

--cc::
Specify a starting "Cc:" value for each email.

--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 All @@ -48,6 +51,9 @@ The options available are:
Only necessary if --compose is also set. If --compose
is not set, this will be prompted for.

--no-signed-off-by-cc::
Do not add emails foudn in Signed-off-by: lines to the cc list.

--quiet::
Make git-send-email less verbose. One line per email should be
all that is output.
Expand All @@ -61,6 +67,10 @@ The options available are:
Only necessary if --compose is also set. If --compose
is not set, this will be prompted for.

--suppress-from::
Do not add the From: address to the cc: list, if it shows up in a From:
line.

--to::
Specify the primary recipient of the emails generated.
Generally, this will be the upstream maintainer of the
Expand Down
23 changes: 18 additions & 5 deletions git-send-email.perl
Original file line number Diff line number Diff line change
Expand Up @@ -31,10 +31,10 @@
my $compose_filename = ".msg.$$";

# Variables we fill in automatically, or via prompting:
my (@to,@cc,$initial_reply_to,$initial_subject,@files,$from,$compose);
my (@to,@cc,@initial_cc,$initial_reply_to,$initial_subject,@files,$from,$compose);

# Behavior modification variables
my ($chain_reply_to, $smtp_server, $quiet) = (1, "localhost", 0);
my ($chain_reply_to, $smtp_server, $quiet, $suppress_from, $no_signed_off_cc) = (1, "localhost", 0, 0, 0);

# Example reply to:
#$initial_reply_to = ''; #<20050203173208.GA23964@foobar.com>';
Expand All @@ -48,10 +48,13 @@
"in-reply-to=s" => \$initial_reply_to,
"subject=s" => \$initial_subject,
"to=s" => \@to,
"cc=s" => \@initial_cc,
"chain-reply-to!" => \$chain_reply_to,
"smtp-server=s" => \$smtp_server,
"compose" => \$compose,
"quiet" => \$quiet,
"suppress-from" => \$suppress_from,
"no-signed-off-cc" => \$no_signed_off_cc,
);

# Now, let's fill any that aren't set in with defaults:
Expand Down Expand Up @@ -197,6 +200,9 @@
--to Specify the primary "To:" line of the email.
--cc Specify an initial "Cc:" list for the entire series
of emails.
--compose Use \$EDITOR to edit an introductory message for the
patch series.
Expand All @@ -212,13 +218,19 @@
email sent, rather than to the first email sent.
Defaults to on.
--no-signed-off-cc Suppress the automatic addition of email addresses
that appear in a Signed-off-by: line, to the cc: list.
Note: Using this option is not recommended.
--smtp-server If set, specifies the outgoing SMTP server to use.
Defaults to localhost.
--suppress-from Supress sending emails to yourself if your address
appears in a From: line.
--quiet Make git-send-email less verbose. One line per email should be
all that is output.
Error: Please specify a file or a directory on the command line.
EOT
exit(1);
Expand Down Expand Up @@ -290,7 +302,7 @@ sub send_message
foreach my $t (@files) {
open(F,"<",$t) or die "can't open file $t";

@cc = ();
@cc = @initial_cc;
my $found_mbox = 0;
my $header_done = 0;
$message = "";
Expand All @@ -304,6 +316,7 @@ sub send_message
$subject = $1;

} elsif (/^(Cc|From):\s+(.*)$/) {
next if ($2 eq $from && $suppress_from);
printf("(mbox) Adding cc: %s from line '%s'\n",
$2, $_) unless $quiet;
push @cc, $2;
Expand Down Expand Up @@ -332,7 +345,7 @@ sub send_message
}
} else {
$message .= $_;
if (/^Signed-off-by: (.*)$/i) {
if (/^Signed-off-by: (.*)$/i && !$no_signed_off_cc) {
my $c = $1;
chomp $c;
push @cc, $c;
Expand Down

0 comments on commit 709fb39

Please sign in to comment.