centOS下SVN安装和配置

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