我有一些文件名,其中包含一些 Unicode 字符。Mac OS X 上的所有文件名都是 UTF8 编码的。也$LANG设置为en_US.UTF-8.
但是,它似乎svn有一些问题:
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) %
Run Code Online (Sandbox Code Playgroud)
如您所见,svn del无法识别文件名。甚至svn status对此感到困惑。
我怎样才能解决这个问题?我也试过LC_CTYPE=$LANG LC_ALL=$LANG LC=$LANG但没有改变。
我从 B Smith-Mannschott 的 Subversion 邮件列表中得到了答案:
这是一个已知的问题。
http://subversion.tigris.org/issues/show_bug.cgi?id=2464
该问题的评论线程上的一张海报建议如下:
Julian Mehnle Thu Aug 6 07:40:30 -0700 2009 的其他评论:
这里是一个解决方法:安装颠覆的MacPorts包的“unicode_path”变种:
$ sudo 端口安装颠覆+unicode_path
我自己没试过这个。
// 本
它似乎主要对我有用,但我不确定现在还有什么坏了。
我对 Subversion 源进行了一些调查,似乎对 UTF8 文件名的支持非常严重。他们有点忽略文件名在 UTF8 中可以有不同表示的事实。它们处理所有这些不同的表示,如不同的文件名。MacOSX 可能会在内部更改表示形式,而这正是 Subversion 经常混淆的地方——并且无法处理。
你可以在他们的源代码中看到他们的路径比较函数基本上只是一个 memcpy。
我试图修复它,但我不确定我是否做了(而且我不想在它上面浪费更多的时间——它现在似乎可以工作,但不确定)。
阅读上游错误报告以获取更多详细信息和后续讨论。
| 归档时间: |
|
| 查看次数: |
5119 次 |
| 最近记录: |