SVN 集中式版本控制软件

Posted 青衫lys

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SVN 集中式版本控制软件相关的知识,希望对你有一定的参考价值。

简介:

目前流行的版本控制软件中,SVN ( 集中式版本控制 ) 算是使用范围更广、且使用时间更早的一款了,现在 git ( 分布式版本控制 ) 更火爆一点。

一、安装svn

[[email protected] ~]# yum -y install subversion
[[email protected] ~]# svn --version  #查看版本号
svn,版本 1.6.11 (r934486)

二、配置svn

1、创建工作目录及版本库

[[email protected] ~]# mkdir /svn
[[email protected] ~]# svnadmin create /svn/myrepos  #创建一个名为myrepos的版本库
[[email protected] ~]# ls /svn/myrepos/
[[email protected] ~]# tree /svn/myrepos/conf/
/svn/myrepos/conf/
├── authz  #用户授权配置文件
├── passwd  #用户认证配置文件
└── svnserve.conf  #服务配置文件

2、修改svn版本库配置文件(需要重启svnserver)

[[email protected] ~]# grep -vP ^#|^$ /svn/myrepos/conf/svnserve.conf 
[general]
anon-access = none  #匿名用户访问权限
auth-access = write  #认证用户访问权限
password-db = passwd  #认证用户命名文件 
authz-db = authz  #目录授权文件
realm = My First Repository  #提示信息
[sasl]

 

3、添加认证用户、密码(username = password)

[[email protected] ~]# grep -vP ^#|^$ /svn/myrepos/conf/passwd 
[users]
lys = liuyisai
qs = qingshan

4、添加目录授权

[[email protected] ~]# grep -vP ^#|^$ /svn/myrepos/conf/authz 
[aliases]
[groups]
[myrepos:/]  #授权目录  
lys = rw  #授权认证用户lys(可读、可写)
qs = r  #授权认证用户qs(可读)
* =  #非授权认证用户(无权限)

5、以守护进程的方式启动svn

[[email protected] ~]# svnserve -d -r /svn  #-d 以守护进程的方式启动一个svnserver,-r 指定版本库

#默认监听TCP 3690 端口,以守护进程模式启动时,可以使用--list-port、--list-host来指定端口、主机

[[email protected] ~]# netstat -lnpt | grep 3690
tcp        0      0 0.0.0.0:3690                0.0.0.0:*                   LISTEN      3109/svnserve       

6、授权测试

[[email protected] ~]# svn checkout --no-auth-cache --username lys --password liuyisai svn://192.168.2.205/myrepos /home/lys/
取出版本 0。
[[email protected] ~]# svn checkout --no-auth-cache --username qs --password qingshan svn://192.168.2.205/myrepos /home/qs
取出版本 0
[[email protected] ~]# touch /home/lys/readme  #创建测试文件
[[email protected] ~]# svn add /home/lys/readme   #添加到工作区
A         /home/lys/readme
[[email protected] ~]# svn --no-auth-cache --username lys --password liuyisai commit -m add readme /home/lys/readme 
增加           home/lys/readme
传输文件数据.
提交后的版本为 1
[[email protected] ~]# touch /home/qs/readme1
[[email protected] ~]# svn add /home/qs/readme1 
A         /home/qs/readme1
[[email protected] ~]# svn --no-auth-cache --username qs --password qingshan commit -m add readme1 /home/qs/readme1 
svn: 提交失败(细节如下): 
svn: 认证失败

三、停止svnserver


[[email protected] ~]# kill $(ps aux | grep svnserve | grep -v grep | awk {print $2})

四、svn备份、还原

1、逻辑备份(备份灵活、可以全量、增量备份--incremental、节省空间,适合版本库比较小的规模)

[[email protected] ~]# svnadmin dump /svn/myrepos > /data/backup/myrepos_$(date +%Y%m%d).bak

2、物理备份(占用空间大,备份、恢复速度快)

[[email protected] ~]# svnadmin hotcopy /svn/myrepos/ /data/backup/myrepos_hot_$(date +%Y%m%d).bak

3、逻辑还原

[[email protected] ~]# svnadmin load /svn/myrepos/ < /data/backup/myrepos_20161024.bak   #注意:如果版本库被删,还原以后还需重新配置认证用户、授权等!

4、物理还原

[[email protected] ~]# svnadmin hotcopy /data/backup/myrepos_hot_20161024.bak/  /svn/myrepos/

五、win客户端连接

1、下载、安装小乌龟 ( TortoiseSVN )

2、建立工作目录,右键 Checkout --> URL ( svn://192.168.2.205/myrepos ) --> 输入用户名、密码 ( lys / liuyisai )

3、测试授权,创建一个文件,添加,提交 看看是否很授权吻合 !

以上是关于SVN 集中式版本控制软件的主要内容,如果未能解决你的问题,请参考以下文章

SVN 集中式版本控制软件

有关版本控制--SVN

Git与SVN对比

版本控制系统svn搭建

话说 SVN 与 GIT 的区别

SVN与Git学习线路图,自学视频教程合集+软件+工具