Q: description of file name encoding approach used by git

2 messages, 2 authors, 2016-06-15 · open the first message on its own page

Q: description of file name encoding approach used by git

From: Constantine Plotnikov <hidden>
Date: 2016-06-15 22:46:09

I'm interested if there is some document that specifies the approach
of encoding non-ASCII file names used by the git and related issues.
I'm particularly interested in cross-platform issues, since I'm
writing plugin for cross-platform tool.

My understanding based on previous discussions of the issue is that
GIT saves file names as bytes in the tree objects without specifying
actual encoding used. And there will be problem if different clients
use different system encoding.

The list of issues known to me is:
1. All Linux and Unix machines that use the same git repository should
use the same encoding (ru_RU.KOI-8 and ru_RU.UTF-8 are not
compatible).
2. On windows UTF-8 codepage should be specified for msys git in order
to force it using UTF-8 if any cross-platform support is wanted. (I do
not known about cygwin git).
3. As I understand, there is an unresolved problem with Mac OSX HFS+
case insensitive file system due to file name normalization.
4. Git log seems to ignore encoding specified on the command line when
printing file names (for example in case of --name-status).

Are these issues still open?
Are there other issues?

Regards,
Constantine

Re: Q: description of file name encoding approach used by git

From: Jay Soffian <hidden>
Date: 2016-06-15 22:46:09

On Wed, Feb 11, 2009 at 6:56 AM, Constantine Plotnikov
[off-list ref] wrote:
3. As I understand, there is an unresolved problem with Mac OSX HFS+
case insensitive file system due to file name normalization.
HFS+ can be configured to be case-sensitive, though it is not by
default. However, this is only a problem if the repo contains > 1
filenames that collide in a case-insensitive filesystem, since HFS+ is
case-preserving.

The larger HFS+ problem is that it performs Unicode NFD normalization,
which is unfortunately lossy. There are some good links about the
topic here: https://bugs.launchpad.net/bzr/+bug/172383

j.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help