Subversion是一个自由,开源的版本控制系统。在Subversion管理下,文件和目录可以超越时空。Subversion将文件存放在中心版本库里。这个版本库很像一个普通的文件服务器,不同的是,它可以记录每一次文件和目录的修改情况。这样就可以籍此将数据恢复到以前的版本,并可以查看数据的更改细节。正因为如此,许多人将版本控制系统当作一种神奇的“时间机器”。
[root@localhost ~]# cat /etc/redhat-release //查看centos版本如下
CentOS release 5.6 (Final)[root@localhost ~]# yum -y install subversion //利用yum安装subversion软件
[root@localhost ~]# svnserve --version //查看subversion版本
svnserve, version 1.6.11 (r934486)
[root@localhost ~]# mkdir -p /data/svndata/ //创建svndata目录
[root@localhost ~]# svnadmin create /data/svndata/project/ //创建project库名称
[root@localhost ~]# ls /data/svndata/project/ //自动创建以下文件
conf db format hooks locks README.txt
[root@localhost conf]# cat authz //查看authz的设置
[aliases] [groups] admin = user1 //设置组admin [/] //根目录权限设置(就是“svndata”这个文件夹) user1 = rw //用户1权限是:可读写 user2 = r //用户2权限是:可读,不可写 @admin = rw //设置组权限[svndata:/project] //设置svndata目录权限
user1 = rw user2 = r[root@localhost conf]# cat svnserve.conf //查看svnseve.conf配置文件
[general] anon-access = none //控制非鉴权用户访问版本库的权限。auth-access = write //控制鉴权用户访问版本库的权限
password-db =/data/svndata/project/conf/passwd //指定用户名口令文件名
authz-db =/data/svndata/project/conf/authz //指定权限配置文件名,通过该文件可以实现以路径为基础的访问控制
realm = My First Repository //指定版本库的认证域,即在登录时提示的认证域名称。若两个版本库的
认证域相同,建议使用相同的用户名口令数据文件 [root@localhost conf]# cat passwd //查看passwd文件 [users] user1 = user1 //用户名 密码的格式 user2 = user2 . . . . //以此类推 [root@localhost ~]# svnserve -d -r /data/svndata/project/(默认3690) 启动svnserve时出现cannot bind server socket:address already in use svnserve -d --listen-port 3691 -r /data/svndata/project 访问使用IE svn://ip或者TortoiseSVN客户端软件即可。