Hi, thank you, Wolfgang, for back Cc'ing me (Jakub never does that...), but I am Cc'ing the git list here, also. Hope both of you don't mind. On Mon, 4 Dec 2006, Wolfgang Fischer wrote: > On 04.12.2006, at 20:37, Jakub Narebski wrote: > > > And HFS+ is on MacOS X / Darwin, without iconv in libc... > > And, what is even worse, is the fact that HFS+ uses an encoding, which is not > represented in libiconv. > > If you CREATE a file, you can use UTF8-NFC > (Normalization-Form-Composed), but if you later READDIR a directory, you > will get the very same name back in the encoding used by HFS+, which is > UTF8-NFD Normalization-Form-Decomposed. The difference is noticeable for > some non-ASCII characters like e.g. > > LATIN SMALL LETTER A WITH DIAERESIS U+00E4 or U+0061 U+0308 in Unicode. > > If you need a sane backward mapping, one has to use some CoreFoundation > interface, for which I removed the details out of my brain, in order to > reclaim that memory area (garbage collection!). But I can help you with > some details and probably code, if you really need that conversion > direction. Yes. When my iBook was still alive, I saw that problem, too: writing and reading filenames were completely different issues. Worse, you can experience the same on USB-Sticks when accessing them with different OSes. For example, when checking out a git repo on a stick with Linux, and then calling git-status on the same stick with Windows XP, you see an issue with the file "Märchen", like you did on MacOSX. So, please, please, please do not try to be smart about filename encodings in git, but just DO NOT USE ANYTHING BUT ASCII IN FILENAMES IF THE REPOSITORY IS GOING TO BE PUT ON DIFFERENT OPERATING SYSTEMS/FILE SYSTEMS. (Wow, the Caps Lock key is _not_ dead after all. I must have been infected by Linus...) Ciao, Dscho