Merge branch 'mw/send-email'

* mw/send-email:
  send-email: Remove superfluous `my $editor = ...'
  send-email: 'References:' should only reference what is sent
  send-email: Handle "GIT:" rather than "GIT: " during --compose
  Docs: send-email: --smtp-server-port can take symbolic ports
  Docs: send-email: Refer to CONFIGURATION section for sendemail.multiedit
  Docs: send-email: Put options back into alphabetical order
This commit is contained in:
Junio C Hamano 2009-05-31 16:16:52 -07:00
commit 06676213d2
2 changed files with 27 additions and 20 deletions

View File

@ -39,6 +39,10 @@ OPTIONS
Composing
~~~~~~~~~
--annotate::
Review and edit each patch you're about to send. See the
CONFIGURATION section for 'sendemail.multiedit'.
--bcc=<address>::
Specify a "Bcc:" value for each email. Default is the value of
'sendemail.bcc'.
@ -51,11 +55,6 @@ 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.
--annotate::
Review each patch you're about to send in an editor. The setting
'sendemail.multiedit' defines if this will spawn one editor per patch
or one for all of them at once.
--compose::
Use $GIT_EDITOR, core.editor, $VISUAL, or $EDITOR to edit an
introductory message for the patch series.
@ -67,6 +66,8 @@ In-Reply-To headers specified in the message. If the body of the message
and In-Reply-To headers will be used unless they are removed.
+
Missing From or In-Reply-To headers will be prompted for.
+
See the CONFIGURATION section for 'sendemail.multiedit'.
--from=<address>::
Specify the sender of the emails. If not specified on the command line,
@ -138,7 +139,9 @@ user is prompted for a password while the input is masked for privacy.
--smtp-server-port=<port>::
Specifies a port different from the default port (SMTP
servers typically listen to smtp port 25 and ssmtp port
465). This can be set with 'sendemail.smtpserverport'.
465); symbolic port names (e.g. "submission" instead of 465)
are also accepted. The port can also be set with the
'sendemail.smtpserverport' configuration variable.
--smtp-ssl::
Legacy alias for '--smtp-encryption ssl'.
@ -233,6 +236,12 @@ have been specified, in which case default to 'compose'.
--dry-run::
Do everything except actually send the emails.
--[no-]format-patch::
When an argument may be understood either as a reference or as a file name,
choose to understand it as a format-patch argument ('--format-patch')
or as a file name ('--no-format-patch'). By default, when such a conflict
occurs, git send-email will fail.
--quiet::
Make git-send-email less verbose. One line per email should be
all that is output.
@ -249,12 +258,6 @@ have been specified, in which case default to 'compose'.
Default is the value of 'sendemail.validate'; if this is not set,
default to '--validate'.
--[no-]format-patch::
When an argument may be understood either as a reference or as a file name,
choose to understand it as a format-patch argument ('--format-patch')
or as a file name ('--no-format-patch'). By default, when such a conflict
occurs, git send-email will fail.
CONFIGURATION
-------------

View File

@ -538,7 +538,7 @@ if ($compose) {
print C <<EOT;
From $tpl_sender # This line is ignored.
GIT: Lines beginning in "GIT: " will be removed.
GIT: Lines beginning in "GIT:" will be removed.
GIT: Consider including an overall diffstat or table of contents
GIT: for the patch you are writing.
GIT:
@ -553,8 +553,6 @@ EOT
}
close(C);
my $editor = $ENV{GIT_EDITOR} || Git::config(@repo, "core.editor") || $ENV{VISUAL} || $ENV{EDITOR} || "vi";
if ($annotate) {
do_edit($compose_filename, @files);
} else {
@ -571,7 +569,7 @@ EOT
my $in_body = 0;
my $summary_empty = 1;
while(<C>) {
next if m/^GIT: /;
next if m/^GIT:/;
if ($in_body) {
$summary_empty = 0 unless (/^\n$/);
} elsif (/^\n$/) {
@ -805,6 +803,10 @@ sub sanitize_address
}
# Returns 1 if the message was sent, and 0 otherwise.
# In actuality, the whole program dies when a there
# is an error sending a message.
sub send_message
{
my @recipients = unique_email_list(@to);
@ -873,7 +875,7 @@ X-Mailer: git-send-email $gitversion
default => $ask_default);
die "Send this email reply required" unless defined $_;
if (/^n/i) {
return;
return 0;
} elsif (/^q/i) {
cleanup_compose_files();
exit(0);
@ -954,7 +956,7 @@ X-Mailer: git-send-email $gitversion
$smtp->data or die $smtp->message;
$smtp->datasend("$header\n$message") or die $smtp->message;
$smtp->dataend() or die $smtp->message;
$smtp->ok or die "Failed to send $subject\n".$smtp->message;
$smtp->code =~ /250|200/ or die "Failed to send $subject\n".$smtp->message;
}
if ($quiet) {
printf (($dry_run ? "Dry-" : "")."Sent %s\n", $subject);
@ -975,6 +977,8 @@ X-Mailer: git-send-email $gitversion
print "Result: OK\n";
}
}
return 1;
}
$reply_to = $initial_reply_to;
@ -1135,10 +1139,10 @@ foreach my $t (@files) {
@cc = (@initial_cc, @cc);
send_message();
my $message_was_sent = send_message();
# set up for the next message
if ($chain_reply_to || !defined $reply_to || length($reply_to) == 0) {
if ($message_was_sent and $chain_reply_to || not defined $reply_to || length($reply_to) == 0) {
$reply_to = $message_id;
if (length $references > 0) {
$references .= "\n $message_id";