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

Re: git-send-email and non 7bit clean message (was: [PATCH 0/6] gitweb: Improve ctags, introduce categories)

From
Jakub Narebski <jnareb@gmail.com>
Date
May 3, 2011, 14:02 UTC
Message-ID
<201105031602.30874.jnareb@gmail.com>
In-Reply-To
<BANLkTi=cckKr3baDZAktAjz8F=JXjQJWiA@mail.gmail.com>
On Sat, 30 Apr 2011, Øyvind A. Holm wrote:
Show 23 quoted lines
> On 29 April 2011 23:31, Junio C Hamano <gitster@pobox.com> wrote:
> > A tangent. It is curious why [PATCH 2/6] alone ended up with an encoded
> > "Subject" header, like this:
> >
> >  Subject: =?UTF-8?q?=5BPATCH=202/6=5D=20gitweb=3A=20Change=20the=20
> >   way=20=22content=20tags=22=20=28=27ctags=27=29=20are=20handled?=
> >
> > The message actually has the above as a long single line, as can be seen at
> > http://article.gmane.org/gmane.comp.version-control.git/172479/raw
> >
> > Just being curious.
> 
> This seems as the same thing that I reported on 2010-04-25 23:35:49Z,
> <http://thread.gmane.org/gmane.comp.version-control.git/145774>. If there's a
> character above U+007F in the log message below line #2, the Subject: line is
> garbled. In this case it is, it's the "ö" in Uwe's name that leads to this
> error.
> 
> A test to reproduce this is at <https://gist.github.com/378785>, but it seems
> as this was fixed between v1.7.4.1-292-ge2a57aa and v1.7.4.1-343-ga91df69 ,
> probably happened in dc7f96f (Merge branch 'jk/format-patch-multiline-header').
> The patch at <http://article.gmane.org/gmane.comp.version-control.git/172479/raw>
> was generated with git-1.7.3, so it would trigger the error in this case.

I have just upgraded git to 1.7.5, and unfortunately it still has the same bug (note that UTF-8 character was introduced while editing patch, so git-format-patch doesn't see it):

  5369:[gitweb/web@git]# git send-email [...] --dry-run mdir.1/*.txt
  The following files are 8bit, but do not declare a Content-Transfer-Encoding.
      mdir.1/0001-gitweb-Prepare-for-splitting-gitweb.txt
  Which 8bit encoding should I declare [UTF-8]? <ENTER>
  Dry-Sent [PATCHv2 0/2] gitweb: Beginnings of splitting gitweb into modules
  Dry-Sent =?UTF-8?q?=5BPATCHv2=201/2=20=28RFC=3F=29=5D=20gitweb=3A=20Prepare=20for=20splitting=20gitweb?=
  Dry-Sent [PATCHv2 2/2 (PoC)] gitweb: Create Gitweb::Util module
Note that having
  MIME-Version: 1.0
  Content-Type: text/plain; charset=utf-8

is not enough[1]. However the patch send is understood correctly by email programs: see [PATCH 2/6] in this thread.

I have added 
  Content-Transfer-Encoding: 8bit

to mdir.1/0001-gitweb-Prepare-for-splitting-gitweb.txt, and now it works all right.

  5370:[gitweb/web@git]# git send-email [...] mdir.1/*.txt
  Dry-Sent [PATCHv2 0/2] gitweb: Beginnings of splitting gitweb into modules
  Dry-Sent [PATCHv2 1/2 (RFC?)] gitweb: Prepare for splitting gitweb
  Dry-Sent [PATCHv2 2/2 (PoC)] gitweb: Create Gitweb::Util module

Footnotes: ^^^^^^^^^^ [1]: Note that git-send-email does something strange: first, the problem is with Content-Transfer-Encoding, and git-send-email asks for 8bit encoding, suggesting UTF-8, instead of asking for transfer encoding, sugesting e.g. 8bit.

Second, from email headers I have added git-send-email should _know_ that message uses UTF-8 encoding (though this is side issue, and probably result of above).

-- 
Jakub Narebski
Poland
Previous: Øyvind A. HolmNext: Jakub Narebski
Message 12 of 13 in “gitweb: Improve ctags, introduce categories”
  1. 0/6 gitweb: Improve ctags, introduce categoriesJakub Narebski, Apr 29, 2011
  2. 1/6 gitweb: Restructure projects list generationJakub Narebski, Apr 29, 2011
  3. Jakub NarebskiMay 7, 2011
  4. 2/6 gitweb: Change the way "content tags" ('ctags') are handledJakub Narebski, Apr 29, 2011
  5. 3/6 gitweb: Mark matched 'ctag' / contents tag (?by_tag=foo)Jakub Narebski, Apr 29, 2011
  6. 4/6 gitweb: Split git_project_list_body in two functionsJakub Narebski, Apr 29, 2011
  7. 5/6 gitweb: Modularized git_get_project_description to be more genericJakub Narebski, Apr 29, 2011
  8. 6/6 gitweb: Optional grouping of projects by categoryJakub Narebski, Apr 29, 2011
  9. Junio C HamanoApr 29, 2011
  10. Jakub NarebskiApr 29, 2011
  11. Øyvind A. HolmApr 30, 2011
  12. Jakub NarebskiMay 3, 2011
  13. git-send-email: Do not encode Subject if not required (was: git-send-email and non 7bit clean message)Jakub Narebski, May 4, 2011

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.