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

Re: [PATCH] git-send-email.perl: check for lines longer than 998 characters

From
Jeff King <peff@peff.net>
Date
Jan 18, 2008, 21:30 UTC
Message-ID
<20080118213051.GA21321@coredump.intra.peff.net>
In-Reply-To
<7v8x2mdf7e.fsf@gitster.siamese.dyndns.org>
On Fri, Jan 18, 2008 at 12:57:41PM -0800, Junio C Hamano wrote:
Show 7 quoted lines
> >   2/3: send-email: validate patches before sending anything
> >
> >        The actual up front long-lines check.
> 
> I wonder what the performance implication of this approach would
> be, though.  I am tempted to say that it would be negligible --
> scanning text in Perl is fast enough.

We now open and do one conditional per line for each file (in addition to already going through each file a separate time and doing more complex processing). Doing that over the entirety of "git log --pretty=email -p" on git.git takes about 1 second on my machine for 11402 patches. Obviously there's slightly more syscall overhead as you have to open() each patch, but I think think it is clear that the parsing overhead is negligible.

Show 6 quoted lines
> I suspect that taking this "Safe against SMTP line length limit"
> topic all the way ("all the way" is post 1.5.4, I am inclined to
> agree that this may be a good fix to an existing bug) would
> require that git-format-patch --attach to learn to apply QP on
> patch text to avoid producing very long lines to root-cause the
> issue [*1*].

Perhaps. If such things are sufficiently rare, one could simply attach the patch in their MUA. I think the most important thing is for git to at least stop and warn the user that it might not be sending something valid. But implementing N different fixes that haven't even been requested by users seems like a waste of time.

-Peff
Previous: Junio C HamanoNext: Adam Piatyszek
Message 21 of 24 in “[BUG] git send-email brakes patches with very long lines”
  1. Adam PiatyszekJan 17, 2008
  2. Adam PiatyszekJan 17, 2008
  3. Adam PiatyszekJan 17, 2008
  4. Jeff KingJan 17, 2008
  5. git-send-email.perl: check for lines longer than 998 charactersAdam Piątyszek, Jan 18, 2008
  6. Johannes SixtJan 18, 2008
  7. Adam PiatyszekJan 18, 2008
  8. Johannes SixtJan 18, 2008
  9. Junio C HamanoJan 18, 2008
  10. Adam PiatyszekJan 18, 2008
  11. Junio C HamanoJan 18, 2008
  12. Jeff KingJan 18, 2008
  13. 1/3 send-email: detect invocation errors earlierJeff King, Jan 18, 2008
  14. 2/3 send-email: validate patches before sending anythingJeff King, Jan 18, 2008
  15. Johannes SixtJan 18, 2008
  16. Jeff KingJan 18, 2008
  17. Jay SoffianJan 18, 2008
  18. Jeff KingJan 18, 2008
  19. 3/3 send-email: add no-validate optionJeff King, Jan 18, 2008
  20. Junio C HamanoJan 18, 2008
  21. Jeff KingJan 18, 2008
  22. Adam PiatyszekJan 20, 2008
  23. Jeff KingJan 20, 2008
  24. Adam PiatyszekJan 21, 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.