配置管理工具SVN.doc_第1页
配置管理工具SVN.doc_第2页
配置管理工具SVN.doc_第3页
配置管理工具SVN.doc_第4页
配置管理工具SVN.doc_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

软件配置管理工具SVN配置和使用说明战立章2008年6月目录1)小节标题去除最后的.2)1.1的 1- 8部分文档叙述不够通顺、清楚3)全文“项目符号和编号”及其后文字段落格式不统一!已修改4)录入错误、错别字、中西文标点符号使用等!部分修改第I 条第一章 SVN的安装和使用说明11.1SVN(Subversion)简介11.2服务器SVN(Subversion)的安装和配置21.2.1安装指南21.2.2服务器的设置31.3客户端TortoiseSVN的安装和配置41.3.1安装指南51.3.2TortoiseSVN使用说明5第II 条参考文献12 配置管理工具SVN配置和使用说明 第I 条 第一章 SVN的安装和使用说明1.1 SVN(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中,如果一个文件搬到另一个地方或者改名,版本号将重新编。同时CVS也不支持在工作目录下用一个内容完全不同的文件来覆盖目录下的同名文件而不继承原来文件的版本历史。而在Subversion中,可以对工作目录下的文件或者目录因为SVN可以同时记录文件和目录的所有版本。进行拷贝和改名操作,还可以进行添加和删除操作,而且所有的新加的文件都从一个新的、干净的版本开始。3. 原子提交在Subversion中,一系列的修改要么全部提交到版本库,要么一个也不提交,这样可以帮助用户构建一个提交修改的逻辑块,防止部分修改添加到版本库。4. 版本化的元数据在Subversion版本控制系统中,每一个文件或目录都有自己一套完整的属性键和它们的值,可以建立并存储任何键/值对,并且属性是随着时间流逝逐渐纳入版本控制的。5. 可选的网络层Subversion有一个抽象版本库存取概念,即对于版本库的存取Subversion没有设置定性的机制,所以人们可以去利用许多现有的技术去实现的网络机制。Subversion可以作为一个扩展块嵌入到Apache Apache,一种开放源码的HTTP服务器,可以在大多数计算机操作系统中运行,由于其多平台和安全性被广泛使用,是最流行的Web服务器端软件之一。HTTP服务器中,这个为Subversion提供了非常先进的稳定性和协同工作能力,除此之外还提供了许多重要功能: 举例来说, 有身份认证, 授权, 在线压缩, 以及文件库浏览等等。除此以外,Subversion本身还有一个轻型的、单独的服务器,使用的是自定义的通信协议,可以很容易的通过SSH SSH介绍见/view/16184.html?wtp=tt。(SecureShell)以tannel的方式使用来实现网络机制。SSH是Subversion提供的通信协议的一种6. 一致的数据操作Subversion记录文件是建立在二进制区别算法的基础上的,对于文本(可读)和二进制文件(不可读)使用一致的操作方式,两种类型的文件都压缩存放在版本库中,区别信息是在网上双向传递的,既向版本库发送区别信息,也在用户端现实区别信息。?7. 有效地分支和标签 在Subversion版本控制系统中,分支和标签代价不与工程的大小成正比,Subversion建立分支和标签时,使用了一种类似于(与)“与”应替换为“于”硬连接 硬连接就像一个文件有多个文件名, 软连接就是产生一个新文件,这个文件指向另一个文件的位置, 硬连接必须在同一文件系统中,而软连接可以跨文件系统。的机制,因而这类操作通常只会花费很少并且相对固定的时间。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.html1.2.1 安装指南1. 下载Subversion服务器端软件。在下载页面中选择相应的版本,点击其对应的连接进入即可下载。本例安装版本是svn-1.4.6-setup.exe。2. 下载后,运行svn-1.4.6-setup.exe安装,默认安装在C:Program FilesSubversion。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:repositoryconf目录下的svnserve.conf文件,在其中找到以下几句话:general# anon-access=read# anth-access=write# password db=passwd去掉每行开头的#和空格 注意:不要在用户名前留有空格,不然在后面进行的导入操作时系统会报错,上面的(其中)password db=passwd是指定身份验证的文件名,即passwd文件,其中保存了用户名和密码。anon-access=read是指匿名用户只具有只读权限,不能写入,要想写入就必须以用户的身份登陆,输入用户名和密码。2) 以记事本的方式打开D:repositoryconf目录下的passwd。文件,在文件中找到# 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:Program FilesSubversionbinsvnserve.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-2137-win32-svn-1.4.6.msi为何缺少下述的中文语言包LanguagePack-1.4.8 .12137-win32-zh_CN.exe? LanguagePack-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-2137-win32-svn-1.4.6.msi和LanguagePack-1.4.8 .12137-win32-zh_CN.exe。该文档介绍用的是TortoiseSVN-1647-win32-svn-1.4.6.msi。注意:SVN的客户端的版本可以高于SVN服务器端的版本,但不能低于SVN服务器的版本,不然服务器端的版本库将文件升级后,客户端将不能识别。2. 下载后,先运行TortoiseSVN-2137-win32-svn-1.4.6.msi,安装程序完成后,提示重启计算机选择“否”,然后运行中文语言包程序后选择重启计算机。(重启后会在鼠标右键菜单中电脑重启后,在桌面任意位置右键,则可见如下图1所示添加两项相应的操作)电脑重启后,在桌面任意位置右击鼠标,会在菜单中多出两个功能,如下图1所示。1.3.2 TortoiseSVN使用说明1. 初始文件导入在我们想要做版本控制的项目根目录下,选中该包含该项目的文件夹,然后右击鼠标(右键),例如,项目根目录在桌面上,包含项目的文件夹的名字为project,选中project,右击鼠标,选择TortoiseSVN菜单下的Import,如下图必须有图的序号,下同! 1所示,图 1 右键然后提示输入文本库的路径,如:svn:/73/repository。如果服务器端在本地还可以写,svn:/localhost/repository,如图2所示。确认后输入用户名和密码,即输入我们在文件passwd中定义的用户名和密码各个小组同学都有实现设定好的密码和用户名。每个小组都有自己独立的passwd文件。,或者是管理员分配的用户名和密码,数据就导入了版本库repository中。图 2 Import2. 版本库中取出项目在本地的工作目录下任意空白位置(该目录由使用者在导出前建立,如本例中F:/work,位置和名字可以根据每各人使用习惯建立),右击鼠标,在(右键?)菜单中选择“SVN Checkout”,然后在URL of repository一栏填写服务器中版本库的路径,如:svn:/73/repository,在checkout directory一栏中填写取至本地的工作目录,如:F:/work。在Revision中,选中HEAD revision,这样将会下载到版本库的最新版本。如果想下载库中的旧版本文件,可选中Revision,然后填入版本号即可。如果不想下载整个版本库,而是只想下载自己负责的那部分模块,可以在URL后添加模块名,如,svn:/73/repository/test,确定后,就可以取出文件库repository下的test文件。如下图所示,单击OK,输入用户名和密码。图3 checkout 3. 更新项目在工作目录下右键菜单中选择“SVN Update”,便就可以将文件库中最新版的文件取到本地计算机上,更新(升级)工作目录下所有文件的现有版本。图4 更新4. 修改文件(版本库的修改包括了修改文件的内容,添加删除文件,添加删除工作目录下的子目录?该部分内容不太符合该部分的主题)选中需要修改的文件,在完成相应的修改后,右键选择菜单中“SVNCommit”,提交到文件库中,输入密码后系统便把修改后的版本库上传到服务端,即完成一次对文件的更新。图5 commit图6 Enter Message新版本提交之后,其他拥有写权限的用户也许会重复以上几步的操作,完成对文件的再一次更新。所以,每次在进行工作之前,必须首先对本地版本库执行一次更新,右击工作区,选择SVN Updata,将版本库中最新的版本下载到本地,然后再进行相应的修改操作。5. 重命名和删除文件如果要删除一个文件或者对一个文件进行重命名,只需(右键)选中该文件,然后右击鼠标,在TortoiseSVN的菜单下

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论