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

转到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

posted on 2012-04-21 11:47  coolnet  阅读(2433)  评论(0编辑  收藏  举报

导航