环境
Centos 7
SVN 1.7
安装SVN
Shell> yum install subversion -y
准备配置和仓库
Shell> mkdir -p /mydata/repository /etc/svnserve Shell> cd /mydata/repository Shell> svnadmin create project1 #创建一个项目库 Shell> cp project1/conf/* /etc/svnserve/ #利用自动生成的模板作为svn服务端的配置基础
修改总体配置文件 /etc/svnserve/svnserve.conf
[general]anon-access = none #禁止匿名访问auth-access = write #登录用户可以有写权限password-db = passwd #用户名密码的配置文件authz-db = authz #用户权限的配置文件realm = My Repository #仓库的说明文本
修改用户的配置文件 /etc/svnserve/passwd
[users]user1 = 111user2 = 222
修改权限的配置文件 /etc/svnserve/authz
[groups]admin = user1,user2 #用户组,建议所有用户都配置到组以方便权限管理[/] #根目录下所有用户都没有权限* =[/project1] #project1项目,admin组的用户有读写权限,其他用户只读权限@admin = rw* = r
配置svnserve服务
查看下服务的信息
Shell> systemctl status svnserve● svnserve.service - Subversion protocol daemon Loaded: loaded (/usr/lib/systemd/system/svnserve.service; disabled; vendor preset: disabled) Active: inactive (dead)
下面是服务配置文件/usr/lib/systemd/system/svnserve.service的内容,无特殊要求默认即可,不需要修改
[Unit]Description=Subversion protocol daemonAfter=syslog.target network.target[Service]Type=forkingEnvironmentFile=/etc/sysconfig/svnserveExecStart=/usr/bin/svnserve --daemon --pid-file=/run/svnserve/svnserve.pid $OPTIONS[Install]WantedBy=multi-user.target
需要修改的是命令行参数配置文件 /etc/sysconfig/svnserve
OPTIONS="-r /mydata/repository --config-file /etc/svnserve/svnserve.conf"
默认端口是3690,若需要修改可以在OPTIONS中加上 --listen-port [port]
启动并配置开机自启
Shell> systemctl start svnserveShell> systemctl enable svnserve
测试使用
第一次输入用户名密码后会提示保存,以后就不需要再输入了
若不想保存更不想总提示保存,那就每个svn命令都加上这三个参数:--username user1 --password 111 --no-auth-cache
Shell> svn co svn://127.0.0.1/project1 ./project1 Shell> cd project1/ Shell> touch 1.txt Shell> svn add 1.txt Shell> svn ci . -m 'add 1.txt' Shell> echo 111 >> 1.txt Shell> svn ci . -m '修改 1.txt' Shell> svn log 1.txt ------------------------------------------------------------------------ r2 | user1 | 2019-03-18 17:26:22 +0800 (一, 2019-03-18) | 1 行 修改 1.txt ------------------------------------------------------------------------ r1 | user1 | 2019-03-18 17:25:19 +0800 (一, 2019-03-18) | 1 行 add 1.txt ------------------------------------------------------------------------
over