Code

Check and document the options to prevent mistakes.
authorEric W. Biederman <ebiederm@xmission.com>
Wed, 21 Jun 2006 13:17:31 +0000 (07:17 -0600)
committerJunio C Hamano <junkio@cox.net>
Thu, 22 Jun 2006 07:20:20 +0000 (00:20 -0700)
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>
Documentation/git-send-email.txt
git-send-email.perl

index ad1b9cf2e9b2532c02c0abd3450ecf6272673472..481b3f50e3d690f5cd47ffa2c2d8bb645114e315 100644 (file)
@@ -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
 ------
index 7b1cca70abcfcbf12c171c91d3f71ad4e43b0474..c5d9e733512ddd4d266c85d4f5cdec4a7d74fa56 100755 (executable)
@@ -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 {