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

Re: [PATCH] Fixed two bugs in git-cvsimport-script.

From
Junio C Hamano <junkio@cox.net>
Date
Aug 17, 2005, 10:01 UTC
Message-ID
<7vacjgyj94.fsf@assigned-by-dhcp.cox.net>
In-Reply-To
<7v3bp829zj.fsf@assigned-by-dhcp.cox.net>
Junio C Hamano <junkio@cox.net> writes:
Show 5 quoted lines
> Yes, the patch had some context conflicts with some other patch
> so the patch application was done by hand, and I did a quick and
> dirty cut & paste of the commit message from "cat mbox" output.
>
> I will probably drop future patches encoded in QP.
This was totally inappropriate; sorry, but I was in a bad mood.
A more serious response.
 - I personally consider commit message encoding a per project
   issue (so is blob contents encoding).  If for example a
   project is Japanese only, MS-DOS^WWindows programming
   project, I do not think it is unreasonable if all the commit
   messages and source files are encoded in Shift-JIS.  More
   Unixy projects over there might use EUC-JP in source files
   and maybe ISO-2022 in the log messages (because the latter is
   the standard way to exchange e-mails there).  As long as
   project participants agree to use the same encodings, things
   should work just fine within a project.
 - However, weird people are known to merge projects that
   started out as totally separate into one.  It would be a
   disaster for the commit log viewer when this happens.  For
   this reason, some people recommend using a common deniminator
   encoding, namely UTF-8, for commit logs from day one, even if
   you do not envision such a merge may happen in the future.
   This recommendation also goes to author and committer
   identification (but not blob contents).  But this is just an
   recommendation, and it is still up to the individual project
   what encoding to use in the log messages, and the low-level
   GIT should not dictate nor interfere; "git-commit-tree" and
   "git-cat-file commit" are 8-bit clean.
 - The e-mail patch acceptance machinery found in tools/
   directory is tuned for the established patch exchange
   practice used in the linux-kernel mailing list.  No MIME, no
   QP, no guarantee to pass things outside ASCII.
 - Eventually, tools/mailinfo.c should be taught about MIME to
   do at least:
   - detect whitespace corrupted patch via sending MUA using
     flowed-text and reject it;
   - detect multipart PGP signed message, discard the attached
     signature which is often useless, and unwrap the payload;
   - decode QP and B encodings as necessary, and after splitting
     the message to the info, msg and patch part, transliterate
     the info and msg part from original encoding to UTF-8 (when
     '--utf8' flag is given, perhaps).
   One of the requirement there is that it still needs to be
   _fast_.  Linus needs to be able to make 5 commits per second
   out of his mailbox.

So that is the technical part of the response. There is one Project policy part of the response: I would endorse the application of that UTF-8 recommendation to the git project itself, at least in principle.

But that in practice would happen only after the above mailinfo update takes place. Until then, it is very likely that I will occasionally fail to spot and to hand-correct people's name left undecoded the way the patch acceptance machinery passed through in the log message. Please live with it (or send such patches to mailinfo ;-).

Previous: Junio C HamanoNext: David Kågedal
Message 4 of 6 in “Fixed two bugs in git-cvsimport-script.”
  1. Fixed two bugs in git-cvsimport-script.David Kågedal, Aug 15, 2005
  2. David KågedalAug 17, 2005
  3. Junio C HamanoAug 17, 2005
  4. Junio C HamanoAug 17, 2005
  5. David KågedalAug 17, 2005
  6. David KågedalAug 17, 2005

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.