一、什么是版本控制:

版本控制就是要让你及时的发布你的软件,每个版本完成应该完成的功能。

简单点说,你在开发过程中,会不断发现新需求,不断发现bug,如果不做控制,你的软件将永远不会发布,或今天一个版本,明天又是一个版本。

二、常用的版本控制软件:

CVS、Visual SourceSafe、SourceAnywhere、SVN 等。本文注重讲解SVN的部署及使用。

svn服务器有2种运行方式:独立服务器和借助apache运行。两种方式各有利弊,用户可以自行选择。

(本部署方法一切从简,利用yum安装所需要软件包)

三、部署SVN环境

1、安装httpd、subversion

yum -y install httpd subversion subversion-devel  mod_dav_svn

2、创建版本库

mkdir -pv /repos     \\创建版本库的目录

cd /repos

svnadmin create minunix   \\创建minunix版本库

chown -R apache:apache minunix

3、配置SVN服务端

vim /etc/httpd/conf.d/subversion.conf

###在<Location>标签内编辑

<Location /repos>

DAV svn

SVNParentPath /repos     \\\ SVN 仓库地址

AuthType Basic

AuthName "MINUNIX SVN REPOS"         \\\验证用户的时候提示信息,可以不要此行

AuthUserFile /etc/httpd/conf.d/passwd       \\\用户认证信息的存放文件

AuthzSVNAccessFile /etc/httpd/conf.d/authz    \\\用户对SVN项目的访问权限

Require valid-user

</Location>

注:要确保有一下两行

LoadModule dav_svn_module modules/mod_dav_svn.so

LoadModule authz_svn_module modules/mod_authz_svn.so

 

创建用户及密码信息,并指定保存文件

htpasswd -c /etc/httpd/conf.d/passwd admin (如果没有此文件需加参数"-c",之后再创建用户可以不用加此参数)

创建authz文件,并对其进行权限的限制

vim /etc/httpd/conf.d/authz

root = admin,user1  \\\ 添加组,假设把 admin 和user1 用户加入到 root 组

[minunix:/]   \\\ 此行表示对本库下的所有文件,可以具体到对本库下面的某个文件目录设置用户访问权限

@root = r \\\ 设置组用户的权限,@后跟组名

admin = rw   \\\ r 表示读,w表示写;若后面有多个用户,可以换行继续书写,

 

修改httpd.conf

vim /etc/httpd/conf/httpd.conf

更改以下两行:

DocumentRoot "/var/www/html"

<Directory "/var/www/html">

更改为:

DocumentRoot "/repos"

<Directory "/repos">

四、设置开机启动,并启动程序

chkconfig httpd on

chkconfig svnserve on

service httpd start

service svnserve start

 

访问检查是否可以正常访问:

http://192.168.0.57/repos/minunix/

 

 

可选择win svn客户端软件,此文不再简述win客户端的使用方法

Win 客户端下载地址:

http://www.minunix.com/docs/other/svn.zip

 

参考文件:http://www.ibm.com/developerworks/cn/java/j-lo-apache-subversion/index.html

http://www.ossxp.com/doc/git/gitolite.html