配置管理工具SVN
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件配置管理工具SVN配置和使用说明
战立章
2008年6月
目录
第I 条第一章SVN的安装和使用说明 (1)
1.1SVN(Subversion)简介 (1)
1.2服务器SVN(Subversion)的安装和配置 (2)
1.2.1安装指南 (3)
1.2.2服务器的设置 (3)
1.3客户端TortoiseSVN的安装和配置 (5)
1.3.1安装指南 (5)
1.3.2TortoiseSVN使用说明 (5)
第II 条参考文献 (11)
第I 条第一章SVN的安装和使用说明
1.1SVN(Subversion)简介
在开源领域,并行版本控制(CVS)一直是版本控制的选择。CVS(Concurrent Versions System)本身是一个自由的软件,它对用户的非限制性和对网络操作的支持—可以允许大量的分散在不同地域的程序员共享他们的工作(特性)成果,非常符合开源软件领域合作的精神。但是像许多其他工具一样,伴随着软件技术的革新,CVS开始露出了衰老的痕迹。所以,设计者在继承CVS优秀特性的基础上设计了Subversion,并把它作为CVS新的继承者。与CVS类似,程序员依然可以使用Subversion构建一个开源软件系统的版本控制过程,但设计者在设计Subversion过程中,努力弥补了CVS的一些明显的缺陷。下面将通过与CVS对比,简单的介绍Subversion为版本控制领域带来的一些新的特性。
1.版本化的目录
CVS只记录单个文件的历史,但是Subversion实现了一个可以跟踪目录树更改的虚拟版本化文件系统,记录文件和目录的所有版本。
2.真实的版本历史
CVS只记录单个文件的历史,所以CVS对那些可能发生在文件上,但会影响所在目录内容的操作(CVS并不跟踪记录目录的变更,见特性1说明)并不支持。因此,例如,复制和重命名,这些可能改变工作目录内容的操作CVS并不支持。而且在CVS中,如果一个文件搬到另一个地方或者改名,版本号将重新编。同时CVS也不支持在工作目录下用一个内容完全不同的文件来覆盖目录下的同名文件而不继承原来文件的版本历史。而在Subversion中,可以对工作目录下的文件或者目录进行拷贝和改名操作,还可以进行添加和删除操作,而且所有的新加的文件都从一个新的、干净的版本开始。
3.原子提交
在Subversion中,一系列的修改要么全部提交到版本库,要么一个也不提交,这样可以帮助用户构建一个提交修改的逻辑块,防止部分修改添加到版本库。
4.版本化的元数据
在Subversion版本控制系统中,每一个文件或目录都有自己一套完整的属性键和它们的值,可以建立并存储任何键/值对,并且属性是随着时间流逝逐渐纳入版本控制的。
5.可选的网络层
Subversion有一个抽象版本库存取概念,即对于版本库的存取Subversion没有设置定性的机制,所以人们可以去利用许多现有的技术去实现的网络机制。Subversion可以作为一个扩展块嵌入到Apache 1HTTP服务器中,这个为Subversion提供了非常先进的稳定性和协同工作能力,除此之外还提供了许多重要功能: 举例来说, 有身份认证, 授权, 在线压缩, 以及文件库浏览等等。除此以外,Subversion本身还有一个轻型的、单独的服务器,使用的是自定义的通信协议,可以很容易的通过SSH2(Secure Shell)以tannel的方式使用来实现网络机制。
6.一致的数据操作
Subversion记录文件是建立在二进制区别算法的基础上的,对于文本(可读)和二进制文件(不可读)使用一致的操作方式,两种类型的文件都压缩存放在版本库中,区别信息是在网上双向传递的,既向版本库发送区别信息,也在用户端现实区别信息。
7.有效地分支和标签
在Subversion版本控制系统中,分支和标签代价不与工程的大小成正比,Subversion建立分支和标签时,使用了一种类似于(与)硬连接3的机制,因而这类操作通常只会花费很少并且相对固定的时间。
8.可修改性
Subversion由一系列共享的C库实现,具有良好的API,这使得Subversion非常容易维护[1]。
1.2服务器SVN(Subversion)的安装和配置
版本:svn-1.4.6-setup.exe。
安装环境:Windows XP Service Pack 2 Pentium(R) 4 CPU 2.00GHz 512MB内存
下载网址:/project_packages.html
1Apache,一种开放源码的HTTP服务器,可以在大多数计算机操作系统中运行,由于其多平台和安全性被广泛使用,是最流行的Web服务器端软件之一。
2SSH介绍见/view/16184.html?wtp=tt。
3硬连接就像一个文件有多个文件名,软连接就是产生一个新文件,这个文件指向另一个文件的位置,硬连接必须在同一文件系统中,而软连接可以跨文件系统。
1.2.1安装指南
1.下载Subversion服务器端软件。在下载页面中选择相应的版本,点击其对应的
连接进入即可下载。本例安装版本是svn-1.4.6-setup.exe。
2.下载后,运行svn-1.4.6-setup.exe安装,默认安装在C:\Program
Files\Subversion。
1.2.2服务器的设置
1.建立版本库
运行Subversion服务器前首先要建立一个版本库(Repository),它是服务器上存放数据的数据库。在命令模式下(win+R后,输入cmd),输入#〉svnadmin create 版本库的目录命令,例如,输入#〉svnadmin create D:\repository,即可在D盘下创建一个版本库repository(版本库名任意)。然后打开repository文件夹后,我们会发现在该目录下生成了若干文件和文件夹,dav目录是提供给Apache与mod、dav、svn使用的目录,让它们存储内部数据;db目录就是所有版本控制的数据文件;hooks目录放置hook脚本文件的目录;locks用来放置Subversion文件库锁定数据的目录,用来追踪存取文件库的客户端;format文件是一个文本文件,里面只放了一个整数,表示当前文件库配置的版本号。
2.配置用户和权限
1)以记事本方式打开D:\repository\conf\目录下的svnserve.conf文件,在其中找
到以下几句话:
[general]
# anon-access=read
# anth-access=write
# password –db=passwd
去掉每行开头的#和空格4,上面的(其中)password –db=passwd是指定身
份验证的文件名,即passwd文件,其中保存了用户名和密码。
anon-access=read是指匿名用户只具有只读权限,不能写入,要想写入就必须
以用户的身份登陆,输入用户名和密码。
2)以记事本的方式打开D:\repository\conf\目录下的passwd。文件,在文件中找4注意:不要在用户名前留有空格,不然在后面进行的导入操作时系统会报错