Thread (152 messages) flat view 152 messages, 23 authors, 2016-06-15

Re: git on MacOSX and files with decomposed utf-8 file names

From: Jakub Narebski <hidden>
Date: 2016-06-15 22:44:05

Johannes Schindelin [off-list ref] writes:
On Wed, 16 Jan 2008, Kevin Ballard wrote:
quoted
On Jan 16, 2008, at 10:34 AM, Johannes Schindelin wrote:
quoted
On Wed, 16 Jan 2008, Mark Junker wrote:
quoted
I have some files like "Lüftung.txt" in my repository. The strange 
thing is that I can pull / add / commit / push those files without 
problem but git-status always complains that thoes files are 
untraced (but not missing).
This is a known problem.  Unfortunately, noone has implemented a fix, 
although if you're serious about it, I can point you to threads where 
it has been hinted how to solve the issue.

FWIW the issue is that Mac OS X decides that it knows better how to 
encode your filename than you could yourself.
More like, Mac OS X has standardized on Unicode and the rest of the 
world hasn't caught up yet. Git is the only tool I've ever heard of that 
has a problem with OS X using Unicode.
No.  That's not at all the problem.  Mac OS X insists on storing _another_ 
encoding of your filename.  Both are UTF-8.  Both encode the _same_ 
string.  Yet they are different, bytewise.  For no good reason.
To be more exact encoding used to _create_ file differs from encoding
returned when _reading directory_... 
 
Stop spreading FUD.  Git can handle Unicode just fine.  In fact, Git does 
not _care_ how the filename is encoded, it _respects_ the user's choice, 
not only of the encoding _type_, but the _encoding_, too.
...which means that sequence of bytes differ. And Git by design is
(both for filenames and for blob contents) encoding agnostic.

HFS+ is just _stupid_. And unfortunately Git doesn't support stupid
filesystems (e.g. case insensitive filesystems) well.

-- 
Jakub Narebski
Poland
ShadeHawk on #git
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help