Merge branch 'rv/send-email-cc-misc-by'
"git send-email" learned to grab address-looking string on any trailer whose name ends with "-by"; --suppress-cc=misc-by on the command line, or setting sendemail.suppresscc configuration variable to "misc-by", can be used to disable this behaviour. This is a backward-incompatible change that may surprise existing users. * rv/send-email-cc-misc-by: send-email: also pick up cc addresses from -by trailers send-email: only consider lines containing @ or <> for automatic Cc'ing Documentation/git-send-email.txt: style fixes
This commit is contained in:
commit
8a0d060fb1
@ -321,16 +321,19 @@ Automating
|
|||||||
auto-cc of:
|
auto-cc of:
|
||||||
+
|
+
|
||||||
--
|
--
|
||||||
- 'author' will avoid including the patch author
|
- 'author' will avoid including the patch author.
|
||||||
- 'self' will avoid including the sender
|
- 'self' will avoid including the sender.
|
||||||
- 'cc' will avoid including anyone mentioned in Cc lines in the patch header
|
- 'cc' will avoid including anyone mentioned in Cc lines in the patch header
|
||||||
except for self (use 'self' for that).
|
except for self (use 'self' for that).
|
||||||
- 'bodycc' will avoid including anyone mentioned in Cc lines in the
|
- 'bodycc' will avoid including anyone mentioned in Cc lines in the
|
||||||
patch body (commit message) except for self (use 'self' for that).
|
patch body (commit message) except for self (use 'self' for that).
|
||||||
- 'sob' will avoid including anyone mentioned in Signed-off-by lines except
|
- 'sob' will avoid including anyone mentioned in Signed-off-by lines except
|
||||||
for self (use 'self' for that).
|
for self (use 'self' for that).
|
||||||
|
- 'misc-by' will avoid including anyone mentioned in Acked-by,
|
||||||
|
Reviewed-by, Tested-by and other "-by" lines in the patch body,
|
||||||
|
except Signed-off-by (use 'sob' for that).
|
||||||
- 'cccmd' will avoid running the --cc-cmd.
|
- 'cccmd' will avoid running the --cc-cmd.
|
||||||
- 'body' is equivalent to 'sob' + 'bodycc'
|
- 'body' is equivalent to 'sob' + 'bodycc' + 'misc-by'.
|
||||||
- 'all' will suppress all auto cc values.
|
- 'all' will suppress all auto cc values.
|
||||||
--
|
--
|
||||||
+
|
+
|
||||||
|
@ -94,7 +94,7 @@ git send-email --dump-aliases
|
|||||||
--identity <str> * Use the sendemail.<id> options.
|
--identity <str> * Use the sendemail.<id> options.
|
||||||
--to-cmd <str> * Email To: via `<str> \$patch_path`
|
--to-cmd <str> * Email To: via `<str> \$patch_path`
|
||||||
--cc-cmd <str> * Email Cc: via `<str> \$patch_path`
|
--cc-cmd <str> * Email Cc: via `<str> \$patch_path`
|
||||||
--suppress-cc <str> * author, self, sob, cc, cccmd, body, bodycc, all.
|
--suppress-cc <str> * author, self, sob, cc, cccmd, body, bodycc, misc-by, all.
|
||||||
--[no-]cc-cover * Email Cc: addresses in the cover letter.
|
--[no-]cc-cover * Email Cc: addresses in the cover letter.
|
||||||
--[no-]to-cover * Email To: addresses in the cover letter.
|
--[no-]to-cover * Email To: addresses in the cover letter.
|
||||||
--[no-]signed-off-by-cc * Send to Signed-off-by: addresses. Default on.
|
--[no-]signed-off-by-cc * Send to Signed-off-by: addresses. Default on.
|
||||||
@ -454,13 +454,13 @@ my(%suppress_cc);
|
|||||||
if (@suppress_cc) {
|
if (@suppress_cc) {
|
||||||
foreach my $entry (@suppress_cc) {
|
foreach my $entry (@suppress_cc) {
|
||||||
die sprintf(__("Unknown --suppress-cc field: '%s'\n"), $entry)
|
die sprintf(__("Unknown --suppress-cc field: '%s'\n"), $entry)
|
||||||
unless $entry =~ /^(?:all|cccmd|cc|author|self|sob|body|bodycc)$/;
|
unless $entry =~ /^(?:all|cccmd|cc|author|self|sob|body|bodycc|misc-by)$/;
|
||||||
$suppress_cc{$entry} = 1;
|
$suppress_cc{$entry} = 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($suppress_cc{'all'}) {
|
if ($suppress_cc{'all'}) {
|
||||||
foreach my $entry (qw (cccmd cc author self sob body bodycc)) {
|
foreach my $entry (qw (cccmd cc author self sob body bodycc misc-by)) {
|
||||||
$suppress_cc{$entry} = 1;
|
$suppress_cc{$entry} = 1;
|
||||||
}
|
}
|
||||||
delete $suppress_cc{'all'};
|
delete $suppress_cc{'all'};
|
||||||
@ -471,7 +471,7 @@ $suppress_cc{'self'} = $suppress_from if defined $suppress_from;
|
|||||||
$suppress_cc{'sob'} = !$signed_off_by_cc if defined $signed_off_by_cc;
|
$suppress_cc{'sob'} = !$signed_off_by_cc if defined $signed_off_by_cc;
|
||||||
|
|
||||||
if ($suppress_cc{'body'}) {
|
if ($suppress_cc{'body'}) {
|
||||||
foreach my $entry (qw (sob bodycc)) {
|
foreach my $entry (qw (sob bodycc misc-by)) {
|
||||||
$suppress_cc{$entry} = 1;
|
$suppress_cc{$entry} = 1;
|
||||||
}
|
}
|
||||||
delete $suppress_cc{'body'};
|
delete $suppress_cc{'body'};
|
||||||
@ -1681,7 +1681,7 @@ sub process_file {
|
|||||||
# Now parse the message body
|
# Now parse the message body
|
||||||
while(<$fh>) {
|
while(<$fh>) {
|
||||||
$message .= $_;
|
$message .= $_;
|
||||||
if (/^(Signed-off-by|Cc): (.*)/i) {
|
if (/^([a-z-]*-by|Cc): (.*)/i) {
|
||||||
chomp;
|
chomp;
|
||||||
my ($what, $c) = ($1, $2);
|
my ($what, $c) = ($1, $2);
|
||||||
# strip garbage for the address we'll use:
|
# strip garbage for the address we'll use:
|
||||||
@ -1691,8 +1691,18 @@ sub process_file {
|
|||||||
if ($sc eq $sender) {
|
if ($sc eq $sender) {
|
||||||
next if ($suppress_cc{'self'});
|
next if ($suppress_cc{'self'});
|
||||||
} else {
|
} else {
|
||||||
next if $suppress_cc{'sob'} and $what =~ /Signed-off-by/i;
|
if ($what =~ /^Signed-off-by$/i) {
|
||||||
next if $suppress_cc{'bodycc'} and $what =~ /Cc/i;
|
next if $suppress_cc{'sob'};
|
||||||
|
} elsif ($what =~ /-by$/i) {
|
||||||
|
next if $suppress_cc{'misc-by'};
|
||||||
|
} elsif ($what =~ /Cc/i) {
|
||||||
|
next if $suppress_cc{'bodycc'};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if ($c !~ /.+@.+|<.+>/) {
|
||||||
|
printf("(body) Ignoring %s from line '%s'\n",
|
||||||
|
$what, $_) unless $quiet;
|
||||||
|
next;
|
||||||
}
|
}
|
||||||
push @cc, $c;
|
push @cc, $c;
|
||||||
printf(__("(body) Adding cc: %s from line '%s'\n"),
|
printf(__("(body) Adding cc: %s from line '%s'\n"),
|
||||||
|
Loading…
Reference in New Issue
Block a user