环境说明
环境:linux centos7
关闭防火墙和selinux:systemctl stop firewalld; setenforce 0
Ip:192.168.244.134
Svn服务器的搭建:
安装svn: yum install svn
查看当前svn版本: svn –version
创建版本库:svnadmin create /home/svn/ku
创建成功后,在/home/svn/ku/下会有以下几个文件:
其中,版本库的相关配置文件在conf下。
文件说明和配置
1.Svnserve.conf:权限配置文件。
修改其中的几项(去掉注释,注意要顶格)
anon-access = none #匿名用户无权限
auth-access = write #认证用户拥有写权限
password-db = /home/svn/ku/conf/passwd #密码文件,建议用绝对路径
realm = /home/svn/ku #版本库的路径
其中,权限可以根据实际需要修改。可以为write read none三种
2.passwd:用户密码匹配文件
用户密码匹配文件。在【users】字段下添加,格式为: 用户名 = 密码(自行编写)
3.authz:用户组及其权限配置。
用户组在【groups】字段下添加。格式为:组名称 = 用户1,用户2……
如:group1=xiaoming,xiaohong
用户(组)权限:自建字段【库版本名:路径】下,添加用户(组)权限
如:@group1 =r(rw或none)
* =
以上表示在根目录下创建库文件夹,group1拥有读权限,其他人无权限。
配置完成后,保存退出。
启动svn
启动svn服务:svnserve –d –r /home/svn/ #注意这里写版本库的上一级目录
测试svn服务:
方法一:svn co svn://192.168.244.134:3690/ku –username=user1 输入相应密码无报错,返回取出版本xx。则表示搭建成功。
方法二:打开浏览器。输入网址:svn//192.168.244.134:3690/ku 访问成功则表示搭建成功。
使用svn:
由于我们在authz文件中,建立了一个工作副本。则文件的提交删除等操作必须在该副本下。
cd
cd ku
vim 1.txt #编辑一个文件。编辑完保存退出
将文件添加到版本库:
svn add 3.txt
svn ci 1.txt –m “??”
提交结果:
**检查一下版本库**:```
svn co svn://192.168.244.134/ku```
在svn界面上也可以看到我们刚刚上传的文件
其他svn操作可查看:
svn --help
TIPS:对于服务端,版本库文件为ku,所有在服务端的操作都来自于这个文件,且一切svn命令需要在这个文件下执行。
对于客户端,其文件放在服务端的版本库文件的同名文件下,即在ku/ku中(系统自动生成)。
客户端所做的改变即在该文件中体现。
而客户端所做的改变,若想在服务端中看见,需要重新checkout和update后,查看ku/ku下的文件。