修复svn hook导致的字符集错误
修改pre-commit钩子,如果返回中文信息,可能会报如下错误:
Error output could not be translated from the native locale to UTF-8.
网上流传的解决方案,是增加以下代码:
export LANG=zh_CN.UTF-8
该方法实测无效!
其实这是svn的一个bug,存在了很长时间,到svn1.8时才彻底修复,修复方案是,升级到svn1.8或更高版本,然后修改apache mod_dav_svn插件的配置。
具体步骤如下:
第一步
修改centos repo来源
vim /etc/yum.repos.d/wandisco-svn.repo
输入
[WandiscoSVN]
name=Wandisco SVN Repo
baseurl=http://opensource.wandisco.com/centos/$releasever/svn-1.8/RPMS/$basearch/
enabled=1
gpgcheck=0
保存
第二步
yum install subversion
yum install mod_dav_svn
如果报版本冲突,通过yum remove把老版本的subversion删除。
安装后确认版本号
svn --version
第三步
vim /etc/httpd/conf/httpd.conf
增加
<IfModule mod_dav_fs.c>
# Location of the WebDAV lock database.
DAVLockDB /var/lib/dav/lockdb
SVNUseUTF8 On
</IfModule>
保存
service httpd restart
问题彻底解决。
作者:Lave Zhang
出处:http://www.cnblogs.com/lavezhang/
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。