summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric W. Biederman <ebiederm@xmission.com>2006-06-21 07:17:31 -0600
committerJunio C Hamano <junkio@cox.net>2006-06-22 00:20:20 -0700
commit79ee555bac7a5ff846c8a381792bbe93cdffbf97 (patch)
tree5f863d69722c7e0b967abbc574880d642447135d
parentc1f8064b143f98e8b3c5ff1ce12ebd0800df5d67 (diff)
downloadgit-79ee555bac7a5ff846c8a381792bbe93cdffbf97.tar.gz
Check and document the options to prevent mistakes.
When multiple recipients are given to git-send-email on the same --cc line the code does not properly handle it. Full and proper parsing of the email addresses so I can detect which commas mean a new email address is more than I care to implement. In particular this email address: "bibo,mao" <bibo.mao@intel.com> must not be treated as two email addresses. So this patch simply treats all commas in recipient lists as an error and fails if one is given. At the same time it documents that git-send-email wants multiple instances of --cc specified on the command line if you want to cc multiple recipients. Signed-off-by: Eric W. Biederman <ebiederm@xmission.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
-rw-r--r--Documentation/git-send-email.txt9
-rwxr-xr-xgit-send-email.perl14
2 files changed, 23 insertions, 0 deletions
diff --git a/Documentation/git-send-email.txt b/Documentation/git-send-email.txt
index ad1b9cf2e9..481b3f50e3 100644
--- a/Documentation/git-send-email.txt
+++ b/Documentation/git-send-email.txt
@@ -24,9 +24,16 @@ OPTIONS
-------
The options available are:
+--bcc::
+ Specify a "Bcc:" value for each email.
+
+ The --bcc option must be repeated for each user you want on the bcc list.
+
--cc::
Specify a starting "Cc:" value for each email.
+ The --cc option must be repeated for each user you want on the cc list.
+
--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
@@ -76,6 +83,8 @@ The options available are:
Generally, this will be the upstream maintainer of the
project involved.
+ The --to option must be repeated for each user you want on the to list.
+
Author
------
diff --git a/git-send-email.perl b/git-send-email.perl
index 7b1cca70ab..c5d9e73351 100755
--- a/git-send-email.perl
+++ b/git-send-email.perl
@@ -65,6 +65,20 @@ my $rc = GetOptions("from=s" => \$from,
"no-signed-off-cc|no-signed-off-by-cc" => \$no_signed_off_cc,
);
+# Verify the user input
+
+foreach my $entry (@to) {
+ die "Comma in --to entry: $entry'\n" unless $entry !~ m/,/;
+}
+
+foreach my $entry (@initial_cc) {
+ die "Comma in --cc entry: $entry'\n" unless $entry !~ m/,/;
+}
+
+foreach my $entry (@bcclist) {
+ die "Comma in --bcclist entry: $entry'\n" unless $entry !~ m/,/;
+}
+
# Now, let's fill any that aren't set in with defaults:
sub gitvar {