当前位置:文档之家› 配置管理工具SVN

配置管理工具SVN

软件配置管理工具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.html1Apache,一种开放源码的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:\ProgramFiles\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注意:不要在用户名前留有空格,不然在后面进行的导入操作时系统会报错到# harry=harryssecret和# sally=sallyssecret,去掉#和后面的空格。

这里定义了两个用户harry和sally,密码分别是harryssecret和sallyssecret。

同样我们也可以根据实际需要添加用户名和密码,如admin=admin11,等号前面即为用户名:admin,后面为用户的密码:admin11。

3.运行服务器1)方法一:在命令模式下:点击win+R后,输入cmd,然后输入命令,#>svnserver-d –r 版本库目录,例如,#>svnserve –d –r d:\repositary,服务器即可启动。

-d为daemn简写,-r为root的简写。

可以打开任务管理器,察看svnserve.exe是否在进程中,注意,该方式每次开机后都要重新SVN服务器。

2)方法二:添加为系统服务:点击win+R后,输入cmd,然后输入命令,#> sc create svnservice binpath= “\”C:\ProgramFiles\Subversion\bin\svnserve.exe\”--service -r d:\repositary”displayname=“SVNservice”depend= Tcpip start= auto,其中d:\repositary是版本库的目录。

在DOS下输入该命令时,一定要注意以下几点:首先,如果路径中包含空格,一定要在路径的开头和结尾加上\”,否则,系统就会报错。

第二,sc 命令对于命令中的参数选项的格式要求非常怪异,必须在各选项的等号前面不能加空格,而等号后面必须加空格。

例如,depend= Tcpip不能写成depend =Tcpip、depend=Tcpip或depend = Tcpip,否则系统同样会报错。

当输入以上命令后,如果系统在控制台输出[SC] CreateService SUCCESS的字样,则表示该系统服务svnservice添加成功。

这时,我们可以点击“我的电脑—〉管理—〉服务和应用程序—〉服务”,然后就会在就在窗口的右面显示出系统的所有后台服务,拖动鼠标,依次查看,我们可以找到刚才添加的svnservice服务,如果发现该服务并没有启动可以选中双击也可以在命令窗口下输入#>net start svnservice这样等服务器每次开机后,该服务都会自动运行。

4.开放服务器端口(针对远程服务器的设置,本地服务器可以跳过)SVN(Subversion)默认端口是3690,我们需要在防火墙上开放这个端口,依次点击“控制面板—〉Windows防火墙—〉例外—〉添加端口”,然后填写名称和端口号,名称可以任意,一般要求有一定的意义,如名称填写SVN,端口号填3690。

1.3客户端TortoiseSVN的安装和配置版本:TortoiseSVN-1.4.8.12137-win32-svn-1.4.6.msiLanguagePack-1.4.8 .12137-win32-zh_CN.exe(可选)安装环境:Windows XP Service Pack 2 Pentium(R) 4 CPU 2.00GHz 512MB内存下载网址:/downloads1.3.1安装指南1.下载Subversion的windows客户端程序TortoiseSVN和中文语言包,目前最新的版本是TortoiseSVN-1.4.8.12137-win32-svn-1.4.6.msi和LanguagePack-1.4.8 .12137-win32-zh_CN.exe。

相关主题