Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I have some filename with some Unicode character in it. All filenames on Mac OS X are UTF8 encoded. Also $LANG is set to en_US.UTF-8.

However, it seems svn has some problems with that:

az@ip212 1054 (Integration) %ls
Abbildungen                           Verbesserungsvorschläge_Applets.odt
AllgemeineAnmerkungen.rtf             Verbesserungsvorschläge_Applets.rtf
Geogebra                              Vorlagen
Texte
az@ip212 1055 (Integration) %svn ls
Abbildungen/
AllgemeineAnmerkungen.rtf
Geogebra/
Texte/
Verbesserungsvorschläge_Applets.rtf
Verbesserungsvorschläge_Applets.odt
Vorlagen/
az@ip212 1056 (Integration) %svn del Verb*.odt
svn: Use --force to override this restriction
svn: 'Verbesserungsvorschläge_Applets.odt' is not under version control
az@ip212 1057 (Integration) %svn status
?       Verbesserungsvorschläge_Applets.odt
!       Verbesserungsvorschläge_Applets.odt
az@ip212 1058 (Integration) %

As you can see, svn del does not recognize the filename. And even svn status gets confused about it.

How can I fix this? I also tried with LC_CTYPE=$LANG LC_ALL=$LANG LC=$LANG but no change.

share|improve this question
add comment

3 Answers

up vote 8 down vote accepted

I got an answer from the Subversion mailinglist from B Smith-Mannschott:

This is a known issue.

http://subversion.tigris.org/issues/show_bug.cgi?id=2464

One poster on the comment thread to that issue suggested as follows:

Additional comments from Julian Mehnle Thu Aug 6 07:40:30 -0700 2009:

There is a work-around: install the "unicode_path" variant of the subversion MacPorts package:

$ sudo port install subversion +unicode_path

I haven't tried this myself.

// ben

It seems to work mostly for me but I am not sure what else is broken now.

I did some investigation into the Subversion source and it seems that UTF8 filename support is broken very badly. They kind of ignore the fact that a filename can have different representations in UTF8. They handle all such different representations as different filenames. MacOSX might change the representation internally and this is what Subversion confuses a lot -- and cannot handle.

You can see in their source that their path compare function is basically just a memcpy.

I tried to fix it but I am not really sure if I did or not (and I don't want to waste much more time into it -- it seems to work now but not sure about it).

Read the upstream bug report for more details and a follow-up discussion.

share|improve this answer
add comment

can you export LANG=de_DE.UTF-8 ?

share|improve this answer
    
Doesn't work. And as said, I already have LANG=en_US.UTF-8 and there shouldn't really be a difference to de_DE.UTF-8 (because it is both just UTF8). –  Albert Aug 28 '10 at 14:28
add comment

I got bit by this today. Server is on a Linux and two OS X clients are syncing towards it. Was trying to delete the troublesome file on the server, but even there Unicode chars are marked funnily. Maybe it's time for me to move to git?

Addendum:

I somehow managed to change things on the server so that the unicode double-named file issue seems to have changed into getting "Checksum mismatch while reading representation" at the end of 'svn update' or 'svn checkout'. Heh.

share|improve this answer
    
I have moved to Git 2 years ago already. And I love it! However, while the Unicode filename situation has become better, I still have such problems sometimes... –  Albert Apr 14 '12 at 3:27
    
I've also used git in customer projects, and do like it. Many things s.a. renaming of a file cause way less (actually, no) problems, compared to svn. –  akauppi Apr 14 '12 at 6:49
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.