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

Re: Formatting problem send_mail in version 2.10.0

From
Jeff King <peff@peff.net>
Date
Oct 11, 2016, 16:02 UTC
Message-ID
<20161011160234.ve72wdqujdz4zrrq@sigill.intra.peff.net>
In-Reply-To
<vpqfuo3l4fl.fsf@anie.imag.fr>
On Tue, Oct 11, 2016 at 09:39:58AM +0200, Matthieu Moy wrote:
Show 16 quoted lines
> >> I can't reproduce the problem with this simple setup:
> >> 
> >> 	git init
> >> 	echo content >file && git add file
> >> 	git commit -F- <<-\EOF
> >> 	the subject
> >> 
> >> 	the body
> >> 
> >> 	Cc: Stable <stable@vger.kernel.org> [4.8+]
> 
> Is this RFC2822 compliant (https://tools.ietf.org/html/rfc2822)? Not an
> expert of the norm, but my understanding is that you're allowed to use
> either "Name <addr@domain.com>" (name-addr) or addr@domain.com
> (addr-spec), and that comments are allowed within parenthesis like
> "Stable <stable@vger.kernel.org> (4.8+)".

I'm not sure. I don't recall seeing anything like it in the wild before, but I find it interesting that we behave differently than Mail::Address (which I generally assume to adhere to a mix of spec and common practice). I couldn't find anything relevant in rfc2822.

Show 5 quoted lines
> What is this [4.8+] supposed to mean?
> 
> The guilty function is parse_mailboxes in perl/Git.pm. It should be
> rather easy to modify it but I need to understand the spec before I can
> try to implement anything.

It seems to be syntactically invalid as an rfc2822 address. If it's in common use on trailer lines[1], I think the only sane things are to drop it, or to stick it in the name. Between the two, I'd argue for the latter, as that matches what Git historically has done.

I also found it interesting that:
  Cc: Stable [4.8+] <stable@vger.kernel.org>
ends up as:
  Cc: "Stable [ v4 . 8+ ]" <stable@vger.kernel.org>

I think this is also syntactically invalid as an rfc2822 address, but we have a habit in Git of treating single-line "name <email>" in a pretty lax manner, and just letting any character except "<" exist in the name field. I wonder if we should do something similar here.

-Peff
[1] Running `git log | grep -i '^ *cc:' | grep '\['` on linux.git
    shows that it is a common pattern there, though there are other uses
    of brackets that probably would not want to include their contents
    in the name.
    It also looks like:
      Cc: stable@vger.kernel.org # 4.8+
    is a common pattern.
    So I suspect we really are in the realm of micro-formats here, and
    it is less about what rfc2822 says, and what people would find it
    useful for send-email to do with these bits after the address (and
    possibly what other people's scripts do with them).
Previous: Junio C Hamano
Message 24 of 24 in “Formatting problem send_mail in version 2.10.0”
  1. Larry FingerOct 10, 2016
  2. Jeff KingOct 10, 2016
  3. Jeff KingOct 10, 2016
  4. Larry FingerOct 10, 2016
  5. Jeff KingOct 10, 2016
  6. Matthieu MoyOct 11, 2016
  7. Larry FingerOct 11, 2016
  8. Matthieu MoyOct 11, 2016
  9. Larry FingerOct 12, 2016
  10. Matthieu MoyOct 12, 2016
  11. Larry FingerOct 12, 2016
  12. Matthieu MoyOct 12, 2016
  13. Larry FingerOct 12, 2016
  14. Matthieu MoyOct 12, 2016
  15. Larry FingerOct 12, 2016
  16. Junio C HamanoOct 12, 2016
  17. Jeff KingOct 12, 2016
  18. Matthieu MoyOct 13, 2016
  19. parse_mailboxes: accept extra text after <...> addressMatthieu Moy, Oct 13, 2016
  20. Kevin DaudtOct 13, 2016
  21. Matthieu MoyOct 13, 2016
  22. Matthieu MoyOct 13, 2016
  23. Junio C HamanoOct 14, 2016
  24. Jeff KingOct 11, 2016

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.