svn 同步更新本地到linux服务器中

2017-10-26  本文已影响0人  奋斗live

上一篇中已经介绍了如何搭建svn服务器。这篇是对上篇的进一步深入。

一、新建post-commit 文件

找到svn中的hooks目录,在里面新建 post-commit 文件(此文件时没有后缀的)

其中写入如下代码(第一个是ubontu使用,第二个是centos使用)

#!/bin/sh
WEB=/www        //代表要把svn中的文件更新到 /www目录中
export LANG=en_US.UTF-8
sudo svn update $WEB --username admin --password admin  
#!/bin/sh
#//设定环境变量,如果没有设定可能会出现update报错 #设定语言,根据系统语言设置,如果是GBK就设置为 LANG=zh_CN.GBK
export LANG=en_US.utf8
SVN_PATH=/bin/svn  # //这指的svn的安装目录(不是库的目录)
WEB_PATH=/www # //web目录,如果你的不同,可以改
#//这里的用户随便一个就好
$SVN_PATH update $WEB_PATH --username 'admin' --password 'admin' --no-auth-cache

上面的username 和password后面分别跟的是 svn中conf/passwd中设置的账号密码

给post-commit增加可执行权限

chmod 755 post-commit

二、修改目录权限

修改第一步中的WEB目录权限
使用 chmod -R 777 /www 命令即可

三、检出要同步的svn目录

svn co svn://122.*.*.62/api.kfc**.me/branches/project_20190311 /www/out_project/api.kfc**.me/ --username yil1234 --password 123456

这一步很重要,如果没这一步,会无法同步
这一步的同步,想当于让svn记住,是从哪个库检出到哪个目录中。
到时要是想更换分支的检出,只要删除原先的web站点,比如这个是删除
/www/out_project/api.kfcxx.me目录,重新创建个目录,/www/out_project/api.kfcxx.me,重新检出即可

四、重启svn服务器

svnserve -d -r /srv/svn/tone_src
(我是把svn安装到了/srv/svn/tone_src中了,所以是用这个路径,)

以上就是我对svn的总结,如果错误,还望指正

上一篇 下一篇

猜你喜欢

热点阅读