1》SVN服务器端文件可见问题
在平时使用SVN时候,一直以为在客户提交文件,那么在服务器对应的版本库下面就会有相同文件。在自己搭建后,发现提交到服务器端文件完全看不见。。。。
这是由于SVN服务器端不是简单将上传的文件一个个存起来,而是采用特殊格式,按照内容增量方式存放,等于说每次文件修改commit,就会生成一个标志文件,而这个文件内只是记录了增加(删减)位置+增加(删减)内容;
2>安装
yum list subversion 查看软件列表中subversion
yum -y install subversion 安装
whick subversion 查看安装目录
svnserve --version 查看是否安装成功
3》修改根目录
subversion安装后默认根目录是在/var/svn下,可以通过修改/etc/sysconfig/svnserve配置文件中OPTIONS来改变根目录
4>建立版本库
mkdir -p /var/svn 建立根目录
snvadmin create /var/svn/myrepo 建立一个版本库.
myrepo目录下必然有以下文件
主要是修改conf下三个文件
4.1》先修改passwd文件,按照‘用户名=密码‘
4.2>在修改authz,这个文件比较关键
[groups]是组,这个组随便定义的,跟liunx系统组无关。按照"组名 = 用户",但用户必须是passwd里面定义的,不能随便填。
这里有两个版本库maoke和s1s,分别定义了访问权限
[maoke:/] 表示maoke版本库访问权限,图中是按照用户定义访问权限的。而s1s是按照组定义,按照组定义时候前面要加"@"符号
* = 表示无权限的人无法访问
4.3>svnserve.conf配置
这里有建议,将每个版本库中的passwd和authz文件删除,将svnserve.conf中password-db和authz-db指向一个文件,这样可以统一管理版本库的登陆权限,而不需要一个一个的处理。如上截图
realm 表示此版本库说明,随便写。
5>启动svn
systemctl start svnserve.service
检查服务是否启动成功。
$ ps aux | grep svn root 16349 0.0 0.1 162180 900 ? Ss 15:01 0:00 /usr/bin/svnserve --daemon --pid-file=/run/svnserve/svnserve.pid -r /opt/svn
通过netstat可以看到SVN打开了3690端口。
$ sudo netstat -tnlp Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:3690 0.0.0.0:* LISTEN 16349/svnserve
6>设置成开机启动。
systemctl enable svnserve.service 如下截图
7>SVN文件管理
第一时候,先checkout空版本库。然后建立trunk,branches,tags进行管理
原文地址:https://www.cnblogs.com/huhu1020387597/p/9674419.html