[原]linux+svn自动同步

1,因为web项目在开发阶段需要随时更新到本地服务器上

2,客户端开发人员需要随时获取最新更新的接口API

3,手动去更新不是最终的解决方案

------------------------------------------------------------------------------------------------------------------------------------------------------------------------

svn目录 :/opt/svn/trunk/

项目目录:/opt/lampp/test/

------------------------------------------------------------------------------------------------------------------------------------------------------------------------

cd /var/wwww/html/php 进入项目目录把项目checkout出来

svn checkout svn://localhost/php /opt/lampp/test/

 (前面那个路径代表svn存放项目的地址 后面的路径代表web项目检测出来的路径

 若后面的路径不填写则会在当前所在目录检测存放)

------------------------------------------------------------------------------------------------------------------------------------------------------------------------

1,cd  /opt/svn/trunk/hooks/ 

2,cp cp post-commit.tmpl post-commit (复制这份模板文件,因为svn将要执行的是post-commit文件)

3,vim post-commit 

将最后面几行删除

REPOS="$1"
REV="$2"
mailer.py commit "$REPOS" "$REV" /path/to/mailer.conf

============================================================

然后加上自己将要执行的同步的命令

export LANG=zh_CN.UTF-8  #(这句话比较重要,如果客户端跟服务器编码不一样会出现同步失败)
WEB=/opt/lampp/test  #(将要同步过去的web项目路径)
/usr/bin/svn update $WEB  #(/usr/bin/svn代表你的svn服务文件地址 如果是通过yum安装的话,或者已经注册了svn服务,则可以直接使用svn,不需要输入全路径)

wq!保存退出,此时已经完成更新命令

===========================================================================================================================

设置post-commit文件可以执行权限(若不设置则会出现commit false 255错误)

chmod  a+x  post-commit  (或者chmod  777 post-commit)