因为SVN服务器与web站点代码是放在同一个服务器上的,所以我们尝试来做一个同步更新。

但是文件上传到SVN版本库后,上传的文件不再以文件原来的格式存储,而是被svn以它自定义的格式压缩成版本库数据,存放在版本库中。

这样我们就选择使用SVN自带的hooks来做web站点代码更新。

进入对应版本库下的hooks目录,复制 post-commit.tmpl为post-commit。

打开,修改代码如下:

export.UTF-8 
REPOS="$1"
REV="$2"
SVN_PATH=/usr/bin/svn #注意,此处是svn命令目录
WEB_PATH=/web/trunk #站点目录
LOG_PATH=/home/svn/trunk/svn.log
echo "##########开始提交 " `date "+%Y-%m-%d %H:%M:%S"` '##################' >> $LOG_PATH
$SVN_PATH update --username puresai --password 123456 $WEB_PATH --no-auth-cache >> $LOG_PATH

记得要修改下post-commit的执行权限,然后测试,如果成功了,那恭喜你!