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

posted @ 2018-12-28 15:09  croweny  阅读(792)  评论(0编辑  收藏  举报