Re: [ISSUE] git send-email sends wrong patches and non-provided CC (probably bug)
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Mar 8, 2008, 05:14 UTC
- Message-ID
- <7vod9pyeyc.fsf@gitster.siamese.dyndns.org>
- In-Reply-To
- <7bfdc29a0803060319v1f3ee295k44c1eecb6fbf1ca3@mail.gmail.com>
"Imran M Yousuf" <imyousuf@gmail.com> writes:
Show 10 quoted lines
> On Thu, Mar 6, 2008 at 4:19 PM, Junio C Hamano <gitster@pobox.com> wrote: >> "Imran M Yousuf" <imyousuf@gmail.com> writes: >> >> > 1. git send-email sends CC to gitster though his email is not mentioned. >> >> Check your config first. > > Can someone help me where I can find it in the config? because I > surely did not make any change to config of GIT project. I would be > grateful for the help.
In $HOME/.gitconfig and $GIT_DIR/config, sendemail.{to,cccmd,bcc} .Running "git send-email --dry-run $your_command_line_args $files" may tell you where the recipients list are picked up from. IIRC, the command picks up addresses on Signed-off-by: lines too, which needs to be explicitly squelched with --suppress-cc=all and/or friends.
One irritating pitfall is that --suppress-cc=<cccmd,cc,self,author,sob> takes lower precedence than others; especially, even the command line --suppress-cc=all is countermanded by configured sendemail.suppressfrom and sendemail.signedoffcc.
Even if we ignore this "the command line should trump configured values" irritation, I think there is a bug here.
# If explicit old-style ones are specified, they trump --suppress-cc.
$suppress_cc{'self'} = $suppress_from if defined $suppress_from;
$suppress_cc{'sob'} = $signed_off_cc if defined $signed_off_cc;$signed_off_cc asks for cc, so I think the second line should invert its logic.
-- >8 -- send-email: --no-signed-off-cc should suppress 'sob' cc
The logic to countermand suppression of Cc to the signers with a more explicit --signed-off-by option done in 6564828 (git-send-email: Generalize auto-cc recipient mechanism) suffers from a double-negation error.
A --signed-off-cc option, when false, should actively suppress CC: to be generated out of S-o-b lines, and it should refrain from suppressing when it is true.
Signed-off-by: Junio C Hamano <gitster@pobox.com> --- git-send-email.perl | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/git-send-email.perl b/git-send-email.perl index 29b1105..b3bd922 100755 --- a/git-send-email.perl +++ b/git-send-email.perl @@ -317,7 +317,7 @@ if ($suppress_cc{'all'}) { # If explicit old-style ones are specified, they trump --suppress-cc. $suppress_cc{'self'} = $suppress_from if defined $suppress_from; -$suppress_cc{'sob'} = $signed_off_cc if defined $signed_off_cc; +$suppress_cc{'sob'} = !$signed_off_cc if defined $signed_off_cc; # Debugging, print out the suppressions. if (0) {