IT软件
当前位置 :首页工程软件IT软件

SVN的安装与配置指南

来源: 作者: 时间:2011-02-20 点击:

1. SVN简介
Subversion是新一代的版本控制工具,不仅仅应用于程序源代码管理,也可以广泛应用于其他需要协作管理数据的工作。Subversion 作为CVS 的重写版和改进版,其目标就是作为一个更好的版本控制软件, 取代目前流行的CVS。Subversion 的主要开发人员都是业界知名的CVS 专家。Subversion支持绝大部分的CVS 功能/命令;Subversion 的命令风格和界面也与CVS 非常接近。当然,不同的地方正是对CVS 的改进。主要体现在:全局性的版本编号、目录的版本控制、原子性提交、支持变更集概念。


2. SVN安装及配置
2.1 软件下载
2.1.1 服务端软件
Subversion有两种运行方式,一种是基于Apache Http Server,另外一种是Subversion Standalone Server。使用较多的是基于Apache下的svn的配置。
以下是Apache Http Server和Subversion Server的下载地址:
httpd-2.2.10.tar.gz
下载地址:http://httpd.apache.org/
subversion-1.5.4.tar.gz
下载地址:http://subversion.tigris.org/downloads/subversion-1.4.5.tar.gz
2.1.2 客户端软件
TortoiseSVN较为常用的一种SVN Windows客户端管理软件,LanguagePack为中文包。
TortoiseSVN-1.5.3.13783-win32-svn-1.5.2.msi
LanguagePack_1.5.3.13783-win32-zh_CN.msi
下载地址:http://tortoisesvn.tigris.org/
2.2 安装Apache(如已安装这步跳过)
1)解压apache安装包
tar xvzf httpd-2.2.10.tar.gz
2)进入解压后的目录
cd httpd-2.2.10
3)配置apache安装
./configure –prefix=/usr/local/apache –enable-mods-shared=all
将apache安装在/usr/local/apache目录下。
4)编译
make
5)安装
make install
6)验证安装是否成功
切换到apache的bin目录
cd /usr/local/apache/bin
启动apache服务
./apachectl start
打开浏览器http://10.192.77.222/ (根据实际IP)如果有测试页”It works!”出现则证明已经安装成功。
2.3 安装Subversion
1)解压SubVersion安装包
tar xvzf subversion-1.5.4.tar.gz
2)进入解压后的目录
cd subversion-1.5.4
3)配置subversion安装
./configure –with-apxs=/usr/local/apache/bin/apxs –prefix=/usr/local/subversion –with-apr=/usr/local/apache –with-apr-util=/usr/local/apache
4)编译
make
5)安装
make install
6)创建库文件所在的目录
SubVersion安装完成后,创建库文件所在目录,相当于SubVersion的存储目录,路径可根据实际计划指定。
mkdir /web/svn
7)创建仓库project
cd /usr/local/subversion/bin
./svnadmin create /web/svn/project
完成后切换到/web/svn/project,看看是不是多了些文件,如果是则说明Subversion安装成功了
2.4 修改Apache配置文件
1)打开配置文件
vi /usr/local/apache/conf/httpd.conf
2)在LoadModule模块添加
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
如果modules目录下不存在以上两个so文件,需要手工拷贝。
3)在配置文件最后添加
<Location /svn>
DAV svn
SVNParentPath /web/svn
AuthzSVNAccessFile /web/svn/authz.conf
AuthType Basic
AuthName “Subversion”
AuthUserFile /web/svn/authfile
Require valid-user
</Location>
SVNParentPath表示svn的父目录
AuthType表示连接类型
AuthName表示连接框显示的信息
AuthzSVNAccessFile表示权限配置文件路径
AuthUserFile表示用户配置文件路径
Require valid-user表示采用用户名密码方式认证
2.5 权限管理
2.5.1 增加用户
使用apache的htpasswd命令增加用户,默认采用MD5方式加密
cd /usr/local/apache/bin
增加test用户,系统会要求输入密码和确认密码。第一次增加用户,创建authfile时,使用-c选项,继续添加用户时,不可再使用。
./htpasswd -c /web/svn/authfile test
依次添加其它用户(根据需求),为显示权限分配,本例添加以下用户:wdwu, tyang, yfpeng, ljyan, xsli, hgao
./htpasswd /web/svn/authfile wdwu
2.5.2 权限分配
创建/web/svn/authz.conf文件,进行权限管理。示例内容如下:
[groups]
g_admin = wdwu
g_vip = tyang
g_jhtpay = tyang,ljyan,yfpeng
g_odsb = xsli,hgao,yfpeng
[/]
@g_admin = r
[project:/]
@g_admin = rw
@g_vip = r
[project:/jhtpay]
@g_jhtpay = rw
[project:/odsb]
@g_odsb = rw
groups用来定义用户组,如g_admin = wdwu,组名为g_admin,组成员为wdwu。
一个用户可以同时属于多个组。
[/]
@g_admin = r
表示g_admin组对根目录有读权限,注意组前要加@符号。
[project:/]
@g_admin = rw
@g_vip = r
表示g_admin对project库根目录具有读写权限,g_vip组具有读权限。
[project:/jhtpay]
@g_jhtpay = rw
表示g_jhtpay组对project下的子目录jhtpay具有读写权限。
[project:/odsb]
@g_odsb = rw
表示g_odsb组对project下的子目录odsb具有读写权限。
通过以上配置,管理员对所有目录具有读写权限,项目组成员对本项目具有读写权限,不能访问其它项目内容。
2.6 验证
重启apache服务,通过客户端工具,使用不同用户登录,对目录进行操作,验证权限设置。


3. Windows客户端TortoiseSVN使用
3.1 安装
安装TortoiseSVN和中文包
TortoiseSVN-1.5.3.13783-win32-svn-1.5.2.msi
LanguagePack_1.5.3.13783-win32-zh_CN.msi
TortoiseSVN会将资源管理器进行扩展,在右键菜单中添加子菜单,提供svn的功能。
3.2. 图标说明
一个新checkout的工作副本使用绿色的对勾做重载。表示Subversion 状态正常。
modified
在你开始编辑一个文件后,状态就变成了已修改,而图标重载变成了红色感叹号。通过这种方式,你可以很容易地看出哪些文件从你上次更新工作副本后被修改过,需要被提交。
conflicted
如果在更新的过程中出现了冲突,图标会变成黄色感叹号。
readonly
如果你给一个文件设置了svn:needs-lock属性,Subversion 会让此文件只读,直到你获得文件锁。具有这个重载图标的文件来表示你必须在编辑之前先得到锁。
locked
如果你拥有了一个文件的锁,并且Subversion 状态是正常,这个重载图标就提醒你如果不使用该文件的话应该释放锁,允许别人提交对该文件的修改。
deleted
这个图标表示当前文件夹下的某些文件或文件夹已经被调度从版本控制中删除,或是该文件夹下某个受版本控制的文件丢失了。
added
加号告诉你有一个文件或目录已经被调度加入版本控制。
ignored
忽略
non-version
没有纳入版本管理的文件
3.3. 常用功能
SVN更新:将服务上的变化更新到本地
SVN提交:将本地的变化提交到服务器
SVN还原:取消本地的修改,将服务器文件覆盖本地文件。
检查更新:对比服务器端和本地文件的变化。
更新至版本:将服务器的某个版本更新到本地,最常用的是获取最新版本。
版本库浏览器:以资源管理器方式对服务器文件进行管理。
获取锁定:锁定某个文件,使他人在解锁之前不能更改对应服务器文件。
解除锁定:解除对文件的锁定,使他人可以更改对应服务器文件。

参考:http://www.zimbio.com/member/kinggod03/articles/diceMGFizGX/SVN

上一篇:
下一篇: 已经是最后一篇
最新评论共有 位网友发表了评论
发表评论
用户名: 密码: 游客发言不需要密码