SVN版本控制工具介绍报告.doc
《SVN版本控制工具介绍报告.doc》由会员分享,可在线阅读,更多相关《SVN版本控制工具介绍报告.doc(23页珍藏版)》请在三一办公上搜索。
1、SVN版本控制工具介绍Version historyIndexVersionAuthorDateComment11.0.0Xiaoyong Wen2012-8-14Create21.0.1Xiaoyong Wen2012-8-15Fix up目录SVN版本控制工具介绍1Version history1目录2前言3术语41. SVN简介41.1 SVN的历史41.2 SVN的特点51.3 SVN Client图形化软件61.4 其它版本控制工具,VSS,CVS,GIT62. SVN server,VisualSVN-Server72.1 下载安装VisualSVN-Server72.2 配置Vi
2、sualSVN-Server82.2.1 创建资料库82.2.2 配置用户访问权限103. SVN client,TortoiseSVN和Linux中的SVN命令。123.1 下载TortoiseSVN123.2 TortoiseSVN的基本操作123.3 Ubuntu 10.04,svn命令174. SVN版本控制过程184.1 Linux kernel开发环境184.2 SVN版本控制基本流程184.2.1 SVN server side184.2.2 SVN client side184. 3 SVN高级主题225. 参考资料23前言版本控制(Revision control)是维护工程
3、蓝图的标准作法,能追踪工程蓝图从诞生一直到定案的过程。此外,版本控制也是一种软件工程技巧,借此能在软件开发的过程中,确保由不同人所编辑的同一程式档案都得到同步。本文档介绍了SVN server、client的安装,配置,和使用。SVN server使用Windows版本,VisualSVN-Server-1.7.2.msi。SVN client使用Windows版本,TortoiseSVN-1.6.2.16344-win32-svn-1.6.2.msi,和Ubuntu Linux 32-bit,svn, version 1.6.6 (r40053)。读者可以根据需要下载最新的稳定版本。术语基线
4、(Baseline)基线是软件文档或源码(或其它产出物)的一个稳定版本,它是进一步开发的基础。档案库(Repository)存储档案的新版本还有历史资料的地方,通常是在服务器上。有时候也叫Depot(像是在SVK、AccuRev还有Perforce中)工作版本(Working copy):从档案库中取出一个本地端(客户端)的复制,针对一个特定的时间或是版本。所有在档案库中的档案更动,都是从一个工作版本中修改而来的,这也是这名称的由来。观念上,这是一个沙盒。提交(Commit)将本地端的修改送回档案库。(由版本控制软件处理“跟上次更动相比,哪个档案又被更动”的事)变更(Change)对一份文件作
5、的特定更动。变更记录(Change List)取出(Check-Out)从档案库取出档案到本地端(客户端)。更新(Update)将档案库的修改送到本地端(与送交相反)。合并(Merge / Integration)合并各个改变。版次(Revision)一个revision或version指的是一系列版本变迁的其中之一。汇入(Import)汇出(Export)冲突(Conflict)当两方更动同一份文件会发生冲突。1. SVN简介1.1 SVN的历史Subversion,简称SVN,是一个开放源代码的版本控制系统,相对于的RCS、CVS,采用了分支管理系统,它的设计目标就是取代CVS。互联网上越
6、来越多的控制服务从CVS转移到Subversion。在2000年初,开发人员要写一个CVS的自由软件代替品,它保留CVS的基本思想,但没有它的错误和局限。2000年2月,他们联系了Open Source Development with CVS(Coriolis, 1999)的作者Karl Fogel,问他是否愿意为这个新专案工作。巧的是这时Karl已经在和他的朋友Jim Blandy讨论一个新的版本控制系统的设计。在1995年,两人开了一家提供CVS技术支持的公司,叫作Cyclic Software。虽然公司已经卖掉了,他们仍然在日常工作中使用CVS。在使用CVS时受到的束缚已经让Jim开始
7、仔细思考管理版本化数据的更好的路子。他不仅已经起好了名字“Subversion”,而且有了Subvesion资料库的基本设计。当CollabNet打来电话时,Karl立刻同意为这个专案工作。Jim征得他的老板RedHat Software的同意,让他投入这个专案,而且没有时间限制。CollabNet雇用了Karl和Ben Collins-Sussman,从5月份开始详细设计。由于Greg Stein和CollabNet的Brian Behlendorf和Jason Robbins作了恰当的推动,Subversion很快吸引了一个活跃的开发人员社区。这说明了许多人有相同的受制于CVS的经验,他们
8、对终于有机会对它做点什么表示欢迎。最初的设计团队设定了几个简单的目标。他们并不想在版本控制方法论上有新突破。他们只想修补CVS。他们决定Subversion应该与CVS相似,保留相同的开发模型,但不复制CVS最明显的缺点。虽然它不一定是CVS的完全的替代品,它应该和CVS足够象,从而任何CVS用户可以不费什么力气的转换过来。经过14个月的编码,在2001年8月31号,Subversion可以“自我寄生”了。就是说,Subversion开发人员停止使用CVS管理Subversion的源代码,开始使用Subversion代替。虽然CollabNet发起了这个项目,而且仍然支助一大部分的工作(它为一
9、些专职的Subversion开发人员发薪水)。但是 Subversion像大部分开放源码的项目一样运作,由一个松散透明,鼓励能者多劳的规则管理。CollabNet的版权许可证和Debian FSG完全兼容。换句话说,任何人可以免费下载,修改,按自己的意愿重新分发Subversion,而不必得到来自CollabNet或其他任何人的许可。2009年11月,Subversion被Apache Incubator专案所接收。2010年1月,正式成为Apache软件基金会的一个顶级专案。1.2 SVN的特点SVN的特性: * 统一的版本号。CVS是对每个文件顺序编排版本号,在某一时间各文件的版本号各不相
10、同。而Subversion下,任何一次提交都会对所有文件增加到同一个新版本号,即使是提交并不涉及的文件。所以,各文件在某任意时间的版本号是相同的。版本号相同的文件构成软件的一个版本。 * 原子提交。一次提交不管是单个还是多个文件,都是作为一个整体提交的。在这当中发生的意外例如传输中断,不会引起数据库的不完整和数据损坏。 * 重命名、复制、删除文件等动作都保存在版本历史记录当中。 * 对于二进制文件,使用了节省空间的保存方法。(简单的理解,就是只保存和上一版本不同之处) * 目录也有版本历史。整个目录树可以被移动或者复制,操作很简单,而且能够保留全部版本记录。 * 分支的开销非常小。 * 优化过
11、的数据库访问,使得一些操作不必访问数据库就可以做到。这样减少了很多不必要的和数据库主机之间的网络流量。 * 支持元数据(Metadata)管理。每个目录或文件都可以定义属性(Property),它是一些隐藏的键值对,用户可以自定义属性内容,而且属性和文件内容一样在版本控制范围内。* 支持FSFS和Berkeley DB两种资料库格式。SVN的不足* 只能设置目录的访问权限,无法设置单个文件的访问权限。(目前可以通过辅助模块比如wandisco access control实现单文件访问)* 数据库为二进制格式,无法方便的利用其它软件读取数据库的内容。1.3 SVN Client图形化软件Tor
12、toiseSVN在windows非常受到欢迎的一套Client软件,与资源管理器集成得相当不错,可以通过资源管理器在文件或目录上用鼠标右键的菜单完成SVN的操作。 TortoiseSVN官方站点Ankhsvn将subversion的操作集成进Visual Studio的SVN Client软件。 Ankhsvn官方站点Subclipse将Subversion的操作集成进Eclipse的SVN Client软件。 Subclipse官方站点Subversive和Subclipse相同 Subversive官方站点SCPluginMac OS下类似TortoiseSVN的软件 SCPlugin官方
13、站点SVNxMac OS X下的一款Client软件 SVNx官方站点eSVNUnix下类似TortoiseSVN的软件 eSVN官方站点kdesvnLinux下使用KDE桌面管理下类似TortoiseSVN的软件 kdesvn官方站点RabbitVCSLinux下使用Gnome桌面管理下类似TortoiseSVN的软件 RabbitVCS官方站点1.4 其它版本控制工具,VSS,CVS,GITVSSMicrosoft Visual SourceSafe是美国微软公司出品的版本控制系统,简称VSS。软件支持Windows系统所支持的所有文件格式,兼容Check out-Modify-Check
14、 in(独占工作模式)与Copy-Modify-Merge(并行工作模式)。VSS通常与微软公司的Visual Studio产品同时发布,并且高度集成。VSS使用文件系统作为存储方式,每次版本变更时就需要大量地读写硬盘。这也是VSS最广受垢弊的缺点。快速大量的信息交换的需要,使得VSS仅适用于快速本地网络,而无法实现基于Web的快速操作,尽管一个妥协的办法是可以通过慢速的VPN。VSS2005 拥有Web访问功能,不再与Visual Studio同时发布。为了实现VSS的远程和跨平台访问,微软推荐VSS用户使用第三方工具,例如SourceAnywhere for VSS。在Visual Stu
15、dio2008 Team System 中集成了另外一个叫做Team Foundation Server的项目生命期管理工具。VSS未来将面向独立开发者和小型开发团队。VSS虽然是微软公司的产品,但微软内部却很少使用它。微软内部使用一个名为SLM的版本控制系统,直至1999年。之后,微软内部改以使用修改自Perforce的SourceDepot。CVSCVS(Concurrent Versions System)代表协作版本系统或者并发版本系统,是一种版本控制系统,方便软件的开发和使用者协同工作。很多开源或者自由软件项目都使用CVS作为其程序员之间的中心点,以便能够综合各程序员的改进和更改。这
16、些项目包括:Gnome、KDE、GIMP、Wine等。CVS的使用获GNU通用公共许可证授权。这是一个将一组文件放在层次目录树中以保持同步的系统。人们可以从CVS服务器上更新他们的本地层次树副本,并将修改的结果或新文件发回;或者删除旧文件。CVS基于客户端/服务器结构(C/S)的行为使得其可容纳多用户,构成网络也很方便。这一特性使得CVS成为位于不同地点的人同时处理数据文件(特别是程序的源代码)时的首选。GITGit是一个由林纳斯托瓦兹 (Linus Benedict Torvalds)为了更好地管理linux内核开发而创立的分布式版本控制软件配置管理软件。需要注意的是和GNU Interac
17、tive Tools,一个类似Norton Commander界面的文件管理器相区分。Git最初的开发动力来自于BitKeeper和Monotone。Git最初只是作为一个可以被其他前端比如Cogito或StGIT包装的后端而开发的。不过,后来Git内核已经成熟到可以独立地用作版本控制。很多有名的软件都使用Git来进行版本控制,其中有Linux内核、X.Org服务器和OLPC内核开发。林纳斯托瓦兹自嘲地取了这个名字git。在英式英语中指一个愚笨或者不开心的人。“ Im an egotistical bastard, and I name all my projects after myself
18、. First Linux, now git. ”2. SVN server,VisualSVN-Server2.1 下载安装VisualSVN-Server官方网站:最新版本是Version 2.5.5。System RequirementsOperating Systems * Windows XP * Windows Server 2003 * Windows Vista * Windows Server 2008 * Windows Server 2008 R2 * Windows 7Minimum hardware * Pentium 500MHz or greater * 128
19、MB RAM or greater * 30 MB hard drive space2.2 配置VisualSVN-ServerVisualSVN-Server的启动界面(图2-1)。图2-12.2.1 创建资料库右击Repositories,弹出下面的对话框(图2-2)。图2-2资料库名称是“Eyesight_SoC”,勾选“Create default structure(trunk, branches, tags)”,点击“OK”,即创建成功(图2-3)。图2-3同样,通过快捷菜单,在”trunk”目录下创建相应的子目录“project”、“kernel”、“rootfs”、“app”、
20、“u-boot”、“doc”来归类源代码、文档、项目管理。规划的项目管理流程中,有一个配置管理计划文档(图2-4)。图2-42.2.2 配置用户访问权限可以针对组和单个用户进行管理。同一组可以给于不同的权限,每个用户也可以配置成不同的权限。创建用户,通过快捷菜单(图2-5),输入用户名和口令,点击OK。图2-5创建组,通过快捷菜单(图2-6),输入用组名,添加组成员,点击OK。图2-6创建组app(图2-7)。图2-7针对目录,配置访问权限:不可访问,只读,可读可写。例如,针对project目录,配置project组的可读可写权限(图2-8)。图2-83. SVN client,Tortois
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SVN 版本 控制 工具 介绍 报告
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-3981591.html