svn hook同步更新svn到web服务器

linux cooljun 2032℃ 0评论

转到SVN项目的hooks目录下面
新建post-commit文件.内容如下

export LANG=zh_CN.UTF-8 
WEB=/www/vhost 
svn update $WEB --username user --password passwd --no-auth-cache 

需要注意就是必须指定字符集
还有运行 svn update 需要提供用户名密码且不要缓存用户认证令牌
export LANG=zh_CN.UTF-8
–username user –password passwd –no-auth-cache
否则得话,当svn commit的时会报错:
Error:MERGE of ‘……’: 200 OK……..

假设服务器对外访问域名为http://yemaosheng.com/ 网站文件存放于/var/www/html/ye/
修改SVN库中post-commit文件
操作如:

cd /var/www/svn/repos/hooks/
 cp post-commit.tmpl post-commit
 chown apache:apache post-commit
 chmod a+x post-commit
 vi post-commit
 #!/bin/sh
 REPOS=”$1″
 REV=”$2″
 svn update /var/www/html/ye –username svnuser1 –password 123456

PS:以上操作应该都没错,但我在我FC8的服务器上测试了没有效果,估计是UTF-8的问题.
我只好先用crontab每5分钟运行一次sh来代替.

#!/bin/sh
 export LANG=zh_CN.UTF-8 #注:这一行害我折腾了几小时
 svn update /var/www/html/ye –username root –password 123456

如果提示skipped 就要先将一个工作版本检出到该web目录

例如:

svn co file:///home/svn/xdadmin  file:///var/www/xdadmin

转载请注明:cooljun小窝 » svn hook同步更新svn到web服务器

如果你觉得这篇文章对你有帮助,请支持我继续更新网站 !捐赠本站
喜欢 (1)or分享 (0)

您必须 登录 才能发表评论!