SVN版本控制器

本文章我们只讲述搭建svn服务的过程,至于概念会在《版本控制器》一篇中为我们介绍

1.安装svn
yum install subversion –y

2.创建新的repository(版本库):
[[email protected] conf]#svnadmin create /home/svn/test //test为版本库目录名称

创建版本库后,在这个目录下会生成3个配置文件:
[[email protected] conf]# cd /home/svn/test/conf
[[email protected] conf]# ls
authz passwd svnserve.conf

(1)svnserve.conf: svn服务配置文件下。
(2)passwd: 用户名口令文件。
(3)authz: 权限配置文件。
**svnserve.conf 文件, 该文件配置参数项分为以下5项: **
anon-access: 控制非鉴权用户访问版本库的权限。
auth-access: 控制鉴权用户访问版本库的权限。
password-db: 指定用户名口令文件名。
authz-db:指定权限配置文件名,通过该文件可以实现以路径为基础的访问控制。
realm:指定版本库的认证域,即在登录时提示的认证域名称。若两个版本库的认证域相同,建议使用相同的用户名口令数据文件

3.修改配置文件
[[email protected] conf]#vim svnserve.conf //下面5行注释打开
anon-access = read
auth-access = write
password-db = passwd
authz-db = authz
realm = My First Repository

4.修改口令文件
[[email protected] conf]# vim passwd //添加一个用户youngfit,密码为123
[users]
#harry = harryssecret
#sally = sallyssecret
youngfit = 123

5.修改权限配置文件
[[email protected] conf]# vim authz
[groups]
#harry_and_sally = harry,sally
#harry_sally_and_joe = harry,sally,&joe
youngfit = youngfit //定义组youngfit,且里面只有一个用户youngfit,组名可以自定义,用户名可以加多个,以逗号隔开

[test:/] //定义目录,此目录是项目test的根目录
@youngfit = rw
*= rw
6.启服务
#svn –d –r /home/svn
服务搭建完毕

默认端口号:
#lsof -i:3690
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
svnserve 15464 root 3u IPv4 216724 0t0 TCP *:svn (LISTEN)

=========================================================================

服务器端使用:

查看版本库:
[[email protected] conf]# svnlook tree /home/svn/test/ --full-paths --show-ids
/ <0.0.r1/441>
test/ <0-1.0.r1/278>
test/a.sh <2-1.0.r1/64>

–full-paths 显示路径
–show-ids 显示版本号
Authz文件最后

7.centos客户端连接测试:
客户端需要安装:
[[email protected] conf]# yum -y install subversion

checkout 把整个版本库下载下来
[[email protected] conf]# svn checkout svn://10.10.7.155/test //test为服务端版本库目录
出现以下报错:
SVN版本控制器
原因:
svn服务未启动或者是启动的时候未指定svn仓库路径,svn默认仓库路径为/var/svn,所以我们需要手动指定为/home/svn/

解决方案:
[[email protected] conf]# ps –ef|greo svn命令查找出来svn的pid,
[[email protected] conf]# kill -9 svnd的pid进程号
[[email protected] conf]# svnserver –d –r /home/svn/
以上操作完成之后,不用再次重启服务(上条命令就是启动svn且指定仓库路径)。再次进行测试
出现报错:Authorization failed
SVN版本控制器
检查authz文件是否出错。进行修改
修改之后再次测试:
SVN版本控制器
显示成功取出版本
提交代码文件:
服务器上没有的文件,在客户端需要先add预提交,再commit,如果服务器端已有的文件,直接commit
#svn add /root/davesvn/test
#svn ci /root/davesvn/test -m “创建新文件” //ci是commit的缩写, -m是添加注释 //提交,

四.Windows客户端连接测试:
需要安装svn客户端
SVN版本控制器
SVN版本控制器
SVN版本控制器
SVN版本控制器
SVN版本控制器
SVN版本控制器
SVN版本控制器
SVN版本控制器
SVN版本控制器
SVN版本控制器
SVN版本控制器
SVN版本控制器
SVN版本控制器
SVN版本控制器
URL of repository为svn服务器的版本库目录路径
Checkout directory为本地的路径
SVN版本控制器