您的位置:首页 > 其它

SVN 版本控制服务器搭建

2013-12-26 17:38 302 查看
一、SVN 简介

Subversion(SVN) 是一个开源的版本控制系統, 也就是说 Subversion 管理着随时间改变的数据。这些数据放置在一个中央资料档案库 (repository) 中。 这个档案库很像一个普通的文件服务器, 不过它会记住每一次文件的变动。 这样你就可以把档案恢复到旧的版本, 或是浏览文件的变动历史。

二、安装 SVN 服务

[root@localhost ~]# yum -y install subversion

[root@localhost ~]# svnserve --version

svnserve,版本 1.6.11 (r934486)

编译于 Apr 11 2013,16:13:51

三、配置 SVN 服务

[root@localhost ~]# mkdir /svn/my_svn

[root@localhost ~]# svnadmin create /svn/my_svn/asp

[root@localhost ~]# svnadmin create /svn/my_svn/php

[root@localhost ~]# svnadmin create /svn/my_svn/sum

## 上述操作为创建 SVN 版本库存放目录及版本库

[root@localhost my_svn]# cd /svn/my_svn/

[root@localhost my_svn]# ls

asp php sum

## 可以看到创建的三个项目版本库

[root@localhost my_svn]# ls asp/conf/

authz passwd svnserve.conf

## authz 为权限配置文件;passwd 为用户密码文件;svnserve.conf 为 SVN 服务配置文件(每个项目目录中都有)

[root@localhost my_svn]# vim asp/conf/passwd

6 [users]

7 # harry = harryssecret

8 # sally = sallyssecret

9 bossk = bosskpass

10 usera = userapass

11 userb = userbpass

## 最后三行是我添加的三个用户,等号后面为用户密码(三个项目目录中都要单独配置)

[root@localhost my_svn]# vim asp/conf/authz

21 [groups]

22 # harry_and_sally = harry,sally

23 # harry_sally_and_joe = harry,sally,&joe

24 bossk = bossk

25 users = usera,userb

26 [/]

27 @bossk = r

28 @users = rw

## 以上设置表示:bossk组对asp项目根有只读权限;users组对asp项目目录有读写权限(三个项目目录中都要单独配置)

[root@localhost my_svn]# vim asp/conf/svnserve.conf

12 anon-access = nono // 控制非鉴权用户访问版本库的权限,默认为 read

13 auth-access = write // 控制鉴权用户访问版本库的权限

20 password-db = passwd // 指定用户名口令文件名

27 authz-db = authz // 指定权限配置文件名,通过该文件可以实现以路径为基础的访问控制

32 realm = asp

## 这几行注释全部去掉,注意还有前面不能带空格,否则会报错

四、启动 SVN 服务

[root@localhost my_svn]# svnserve -d -r /svn/my_svn/

## -d 为后台运行 -r 指定svn版本库目录

[root@localhost my_svn]# netstat -anpt | grep 3690

tcp 0 0 0.0.0.0:3690 0.0.0.0:* LISTEN 1740/svnserve

[root@localhost my_svn]# iptables -I INPUT -p tcp --dport 3690 -j ACCEPT

## 设置svn端口通过防火墙

[root@localhost my_svn]# service iptables save

[root@localhost my_svn]# service iptables restart

五、客户端测试

Linux 测试

[root@localhost my_svn]# svn co svn://192.168.0.20/php

认证领域: <svn://192.168.0.20:3690> php

“root”的密码:

认证领域: <svn://192.168.0.20:3690> php

用户名: usera

“usera”的密码:

-----------------------------------------------------------------------

注意! 你的密码,对于认证域:

<svn://192.168.0.20:3690> php

只能明文保存在磁盘上! 如果可能的话,请考虑配置你的系统,让 Subversion

可以保存加密后的密码。请参阅文档以获得详细信息。

你可以通过在“/root/.subversion/servers”中设置选项“store-plaintext-passwords”为“yes”或“no”,

来避免再次出现此警告。

-----------------------------------------------------------------------

保存未加密的密码(yes/no)?yes

取出版本 0。 ## 表明测试成功

Windows 测试 (TortoiseSVN)

1、下载并安装TortoiseSVN 客户端

2、找到自己的项目目录,右击进行SVN操作



3、输入 SVN 目录



4、输入有效的用户名、密码



5、连接成功标志



6、模拟建立代码文件并提交





然后输入用户名、密码 完成!

7、回滚到之前的代码





上面是提交的日志,下面对应状态 点击要回滚的日志,右击 revert to this version 输入用户名、密码 这样就回滚到了创建时候的代码状态。

收工、完事了 有点累啊........
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: