Mac OS下svn乱码相关问题

Mac OS X 10.5.6中系统自带的svn版本是1.4.4,属于较老的svn版本了.
本来运行的好好的,后来重装过一次Mac OS X之后,svn里面处理中文文件夹和中文文件名的时候就出现乱码的情况了.
乱码表现为,中文文件名和文件夹名都是反斜线加数字的形式.

Terminal字符集设置

开始我以为是Terminal的字符集设置问题,只需要改成UTF-8即可:
2009-03-31_0842

这样做之后Terminal可以正常显示中文,但是svn还是不行.看来应该是svn的问题了.Google半天很少有结果,因为毕竟在svn里用中文的人就少,一来西方人多,二来正常的项目里面的文件和文件夹名,为了习惯,都采用英文.发现一个日本人的博客,根据里面间断的英文和数字版本号,我觉得他是在说一个svn针对UTF-8问题的patch.他说升级到1.5就没有问题了.
查了一下Mac OS X上svn最新版本是1.6.0,于是我的第一个想法是升级svn.

Mac OS X 10.5.6下升级svn (Subversion Client)

先装MacPorts.MacPorts可以理解成Mac OS X下的apt-get和yum.
注意,安装MacPorts 1.7.1的时候,最后一步”Running MacPorts 1.7.1 install script”的时候很慢,耐心等着,MacPorts需要下载些软件信息,网速不好的时候,这一步会很慢.当然,如果能做些提示就好了,我也是Force Quit两次,回来都卡住,才决定等下去…
MacPorts装好之后,安装svn就行:

[code=’sh’]sudo port install subversion[/code]

MacPorts会先装好依赖项,然后装好最新的subversion (svn),我昨晚装好是1.6.0:

[code=’sh’]
zheng-lis-macbook-pro:SVNs nocoo$ svn –version
svn, version 1.6.0 (r36650)
compiled Mar 30 2009, 23:02:31
[/code]

看看环境变量,做最关键的一步:
[code=’sh’]vim ~/.profile[/code]

这里前几行是MacPorts自动设置的一些东西,可以看到,MacPorts为我们装的东西都放在/opt/local/bin和/opt/local/sbin里面了.你需要在后面加最后一句,让svn以”zh_CN.UTF-8″编码去运行.

[code=’sh’]
export PATH=/opt/local/bin:/opt/local/sbin:$PATH
export MANPATH=/opt/local/share/man:$MANPATH
alias svn=’env LC_CTYPE=zh_CN.UTF-8 svn’
[/code]

2009-03-31_0857
注意最后”svn status”的结果,这是升级前后两次同样的”svn mkdir 测试”的结果比较.之前一个就显示了乱码.

后记
当然,我现在猜想,如果不升级svn,之间在profile里加”alias svn=’env LC_CTYPE=zh_CN.UTF-8 svn'”,应该也行.不过木已成舟…

1 comment

发表评论