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

Re: [PATCH] Documentation/i18n.txt: clarify character encoding support

From
Junio C Hamano <gitster@pobox.com>
Date
Jun 17, 2015, 20:45 UTC
Message-ID
<xmqqr3pa5aix.fsf@gitster.dls.corp.google.com>
In-Reply-To
<557EA421.5050706@gmail.com>
Karsten Blees <karsten.blees@gmail.com> writes:
Show 17 quoted lines
>> I do not think the removal of the text makes much sense here unless
>> you add the equivalent to the new text below.
>> 
>>>   - The contents of the blob objects are uninterpreted sequences
>>>     of bytes.  There is no encoding translation at the core
>>>     level.
>>>  
>>> - - The commit log messages are uninterpreted sequences of non-NUL
>>> -   bytes.
>>> + - Pathnames are encoded in UTF-8 normalization form C. This
>> 
>> That is true only on some systems like OSX (with HFS+) and Windows,
>> no?  BSDs in general and Linux do not do any such mangling IIRC.
>
> Modern Unices don't need any such mangling because UTF-8 NFC should
> be the default system encoding. I'm not sure for BSDs, but it has
> been the default on all major Linux distros for more than 10 years.

So? All major distros do not have to worry (and do not even need to know). As I said,...

>> I
>> am OK with mangling described as a notable oddball to warn users,
>> though; i.e. not as a norm as your new text suggests but as an
>> exception.

... I am OK to describe "pathnames are mangled into UTF-8 NFC on certain filesystems" as a warning. I am OK if we encourage the use of UTF-8, especially if a project wants to be forward looking (i.e. it may currently be a monoculture but may become cross platform in the future). I just do not want to see us saying "you *must* encode your path in UTF-8 NFC".

Show 7 quoted lines
> ISO-8859-x file names may be fine if you won't ever need to:
> - use git-web, JGit, gitk, git-gui...
> - exchange repos with "normal" (UTF-8) Unices, Mac and Windows systems
> - publish your work on a git hosting service (and expect file and
>   ref names to show up correctly in the web interface)
> - store the repo on Unicode-based file systems (JFS, Joliet, UDF,
>   exFat, NTFS, HFS, CIFS...)

Yes, that is exatly what I said, isn't it? "Use whatever works for your project, we do not dictate."

> These restrictions are not that obvious when you start a new git
> project,...

Or any project for that matter, not limited to "git project", no? Perhaps that is a moot point by now, as everything in the workd seems to be a "git project" these days.

Previous: Karsten BleesNext: Karsten Blees
Message 4 of 6 in “Documentation/i18n.txt: clarify character encoding support”
  1. Documentation/i18n.txt: clarify character encoding supportKarsten Blees, Jun 13, 2015
  2. Junio C HamanoJun 15, 2015
  3. Karsten BleesJun 15, 2015
  4. Junio C HamanoJun 17, 2015
  5. Documentation/i18n.txt: clarify character encoding supportKarsten Blees, Jul 1, 2015
  6. Torsten BögershausenJul 2, 2015

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.