subversion是Apache的一个开源的版本控制系统。本文介绍在Linux下如何安装、配置、使用subversion版本控制系统,介绍常见的svn命令等。本文基于centos6.5 Linux发行版介绍。
一、subversion安装
1[root@localhost ~]# yum install subversion
安装完成后主要有 /usr/bin/svn /usr/bin/svnserve /usr/bin/svnadmin 几个重要命令,以及 /etc/init.d/svnserve 这个 SysV 控制脚本,下面会专门介绍这个脚本如何修改使用。
二、使用 svnadmin 命令创建 svn 资源库
1
2
3
4
5
6
7
8#创建svn资源库目录
[root@localhost ~]# mkdir -p /srv/svn
#使用svnadmin命令创建资源库
[root@localhost ~]# svnadmin create /srv/svn
[root@localhost ~]# cd /srv/svn
#创建完的资源库包含以下内容,conf目录中是该资源库的配置文件,db目录用来保存具体项目数据
[root@localhost svn]# ls
conf dbformat hooks locks README.txt
三、配置 svn 资源库
1
2
3
4
5
6
7
8
9[root@localhost conf]# pwd
/srv/svn/conf
[root@localhost conf]# ls
authzpasswd svnserve.conf
配置文件有以上三个
passwd用来配置用户名和密码
authz用来配置用户权限
svnserve.conf用来配置svnserve服务
1. 配置 svn 用户名和密码
在 passwd 文件中配置用户名和密码,例如我们添加两个账户 admin 和 test,密码都是 111111。
[users]
admin = 111111
test = 111111
2. 配置 svn 用户权限
在 authz 文件中配置 svn 用户权限,例如 admin 配置成具有所有文件的读写权限,test只有只读权限。
[/]
admin = rw
test = r
另外还可以通过组的概念配置权限,例如添加 admin 组,具有所有文件的读写权限。组引用时通过 @ 符号
[groups]
admin = admin
[/]
@admin = rw
3. 配置 svnserve 服务来启用账户和权限管理
最后需要在 svnserve 配置文件中启用 passwd 和 authz 这两个配置文件,只需要将相应注释去掉即可。注意每行前面不能有空格!
password-db = passwd
authz-db = authz
四、启动 svnserve 服务
可以通过 svnserve 命令来启动 svnserve 服务
1
2
3
4
5
6
7svnserve [options]
[options]
-d 指定svn以守护进程运行
-r | --root 指定svn资源库的位置
因此运行以下命令来启动svnserve服务
[root@localhost conf]# svnserve -d -r /srv/svn/
五、使用 svn 客户端连接到 svn 服务器
可以通过 svn://ip 来连接 svn 服务器了
六、自带的 SysV 脚本的修改使用
yum安装的subversion自带 SysV 控制脚本 /etc/init.d/svnserve,在该文件第一行加入以下变量定义svn服务器资源库位置等启动参数即可使用。
1
2
3
4
5
6
7
8
9
10
11
12#加入这行
OPTIONS='--root=/srv/svn'
#现在 svnserve 脚本就可以使用了
[root@localhost conf]# service svnserve stop
Stopping svnserve: [ OK ]
[root@localhost conf]# service svnserve start
Starting svnserve: [ OK ]
[root@localhost conf]# service svnserve restart
Stopping svnserve: [ OK ]
Starting svnserve: [ OK ]
[root@localhost conf]# service svnserve status
svnserve (pid 2179) is running...