git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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) {
Previous: Imran M Yousuf
Message 4 of 4 in “[ISSUE] git send-email sends wrong patches and non-provided CC (probably bug)”
  1. Imran M YousufMar 6, 2008
  2. Junio C HamanoMar 6, 2008
  3. Imran M YousufMar 6, 2008
  4. Junio C HamanoMar 8, 2008

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.