中文 hook
在我前面的文章《SVN 提交强制写入注释及相关扩展阅读》中,提到了提交时强制写入注释的方法
在使用 Apache 进行 SVN 管理,而不是使用 svnserve 的时候,在钩子 hooks 中填写的中文脚本有可能无法正确显示,会提示
- Error output could not be translated from the native locale to UTF-8.
网上大多数的文章给出的解决方案是:
修改钩子 hooks 的编码
- export LANG=zh_CN.UTF-8
- export LC_ALL=zh_CN.UTF-8
或者修改 Apache 的编码
- AddDefaultCharset UTF-8
都不能解决问题,因为这些解决方案都是针对 svnserve 的。
正确的姿势
问题出现的原因是因为 subversion 的版本太低
比如 centos6 自己的源带的 subversion 版本是 1.6 的
升级的方法
- cat > /etc/yum.repos.d/wandisco-svn.repo <<EOF
- [WandiscoSVN]
- name=Wandisco SVN Repo
- baseurl=http://opensource.wandisco.com/centos/6/svn-1.9/RPMS/\$basearch/
- enabled=1
- gpgcheck=0
- EOF
- yum -y install subversion
在 wandisco 网站找到对应的系统版本和最新的 subversion 版本并填写到 baseurl 里
修改 http.conf 添加 UTF8 支持,并重启 httpd
- <IfModule mod_dav_fs.c>
- # Location of the webDAV lock database.
- DAVLockDB /var/lib/dav/lockdb
- SVNUseUTF8 On
- </IfModule>
问题就解决了。
来源: http://www.bubuko.com/infodetail-2155595.html