On 16. jan.. 2008, at 17.32, Johannes Schindelin wrote:"FUD" is a bit strong, don't you think? HFS+ is the way it is and it would be nice if Git could deal with it. The problem is that HFS+ normalizes filenames to avoid multiple files that appear to have the same name (eg "M<A WITH UMLAUT>rchen" vs "Ma<UMLAUT MODIFIER>rchen", in gitweb/test). This is sort of like case sensitivity, but filenames are normalized when a file is _created_. Git, not unreasonably, expects a file to keep the name it was created with. As far as I can tell, as long as you add all your internationally becharactered files to git from an HFS+ file system using a gui or command-line completion, you'll be okay; trouble starts when you check in a file with the composed form of a character, by typing the name on the command line (I'm not sure about this one) or committing on another OS. Git will store the filename in composed form, but the Mac's filesystem will decompose the filename when you check the file out. The result looks like this: vredefort:[git]% git status # On branch master # Untracked files: # (use "git add <file>..." to include in what will be committed) # # gitweb/test/Märchen nothing added to commit but untracked files present (use "git add" to track) (this is directly after checking out git.git @ v1.5.4-rc3) There are two things to note here. One is that Git thinks that there is a new file called "gitweb/test/Märchen" (decomposed) when it's "really" just the same "gitweb/test/Märchen" (precomposed) that's in the repository. The other is that git _thinks_ that the "gitweb/test/ Märchen" (precomposed) it's expecting is still there, because the filesystem, when asked for "gitweb/test/Märchen" in any form will return the file "gitweb/test/Märchen" (decomposed). Trying to check out the "next" branch at this point is a pain since next's "Märchen" would overwrite the untracked "Märchen". I can't provide links to any previous discussions about this, but here's Apple's Technical Q&A on the subject: http://developer.apple.com/qa/qa2001/qa1235.html Finding a sane way of allowing git to handle this behaviour is left as an exercise for the reader. Eyvind Bernhardsen - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
| Linus Torvalds | Linux 2.6.27-rc5 |
| Greg KH | Re: Dual-Licensing Linux Kernel with GPL V2 and GPL V3 |
| Greg Kroah-Hartman | [PATCH 004/196] Chinese: add translation of SubmittingPatches |
| Trent Piepho | Re: [PATCH] [POWERPC] Improve (in|out)_beXX() asm code |
git: | |
| Christoph Hellwig | Re: [PATCH 06/32] IGET: Mark iget() and read_inode() as being obsolete [try #2] |
| Gerrit Renker | [PATCH 0/37] dccp: Feature negotiation - last call for comments |
| David Miller | Re: [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
| David Miller | [GIT]: Networking |
