CentOS7.1 SVN1.7 版本下的svn配置以及自动同步commit
1、保证自己服务器安装了svn
yum install -y subversion
2、mkdir www/svndata 创建svndata目录 目录下面会有服务器的各个项目
3、创建项目库 886.com
cd /www/svndata/
svnadmin create /www/svndata/886.com
4、修改svn配置文件
authz
配置用户组权限,新增用户组
[groups] # harry_and_sally = harry,sally # harry_sally_and_joe = harry,sally,&joe userlist = user1,user2 [/] @userlist = rw
passwd 定义用户的账户和密码
[users] user1= user1pass user2 = user2pass
svnserve.conf
anon-access = none auth-access = write password-db = passwd authz-db = authz realm = 886.com
5、添加post-commit执行脚本
cd /www/svndata/886.com/hooks
vim post-commit
复制下面的内容
!/bin/sh export LANG="zh_CN.UTF-8" REPOS="$1" REV="$2" SVN_PATH=/usr/bin/svn WEB_PATH=/www/wwwroot/www.886.com/ $SVN_PATH update $WEB_PATH --username user1 --password user1pass --no-auth-cache
:wq 保存
chmod +x post-commit
chmod 755 post-commit
使此文件有运行权限
6、 cd /www/wwwroot/www.886.com
svn co svn://localhost/886.com . (后面有个.)
按照提示,输入系统账户密码,输入svn账户密码 完成。
可以在本地使用svn命令来测试了。
SVN相关命令
启动svn svnserve -d -r /www/svndata
结束svn killall svnserve
查看相关开放端口 netstat -aptn
开机启动svn vim /etc/rc.local 新增 启动svn的命令(centos亲测无效)
正确方式:
vim /etc/sysconfig/svnserve
systemctl enable svnserve.service
如果遇到 svn update 命令执行报错
Updating '.':
Skipped '.git' -- Node remains in conflict
At revision 59.
Summary of conflicts:
Skipped paths: 1
修复方式
svn revert --depth=infinity .git