Subversion and Unicode Characters on the Mac
Since years Subversion shows a, in my eyes critical, bug: it occours when handling filenames containing "Special" characters.
The problem description in short:
- you are working on different platforms, Windows, Linux, Mac
- you are using SVN
- you have filenames with special characters, like 'á'
SVN on the Mac does not handle filenames with theses characters correctly. For details see Bug Report:
(When search on the web you will finda a lot more posts about this issue, all SVN versions, even 1.7 and 1.8 is affected).
The Mac handles the encoding of these Unicode Characters different than Windows/Linux. The Mac uses the "decomposed" encoding, Windows and Linux uses "precomposed" encoding.
- "precomposed" - means the character is stored as "á"
- "decomposed" - means the character is stored as 2 values "a" and "´"
Luckily there are patches existing on the web to fix the behaviour of SVN on the Mac, unfortunately the fix is not part of the offical Subversion distribution.
I use homebrew to use the updated SVN, but even homebrew does not include the patch by default - you must give a special option to get it:
$ brew reinstall subversion17 --unicode-path
Now SVN works like expected. The homebrew guys do not support this patch for Subversion 1.8, see this github issue.
Sideeffects of this fix:
- Versions.app (1.3.0 build 1053) crashes when opening the working directory
- Cornerstone.app (2.7.14 17.135) has its own SVN included without the patch so it shows wrong "diffs"
- SublimeSVN works because it uses the binaries in /usr/local
PS: event the Xcode provided SVN does not include the unicode patch.