VSS、CVS、SVN和ClearCase几种配置管理工具的评估和比较

上传人:大米 文档编号:481865457 上传时间:2022-12-10 格式:DOCX 页数:19 大小:51.04KB
返回 下载 相关 举报
VSS、CVS、SVN和ClearCase几种配置管理工具的评估和比较_第1页
第1页 / 共19页
VSS、CVS、SVN和ClearCase几种配置管理工具的评估和比较_第2页
第2页 / 共19页
VSS、CVS、SVN和ClearCase几种配置管理工具的评估和比较_第3页
第3页 / 共19页
VSS、CVS、SVN和ClearCase几种配置管理工具的评估和比较_第4页
第4页 / 共19页
VSS、CVS、SVN和ClearCase几种配置管理工具的评估和比较_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《VSS、CVS、SVN和ClearCase几种配置管理工具的评估和比较》由会员分享,可在线阅读,更多相关《VSS、CVS、SVN和ClearCase几种配置管理工具的评估和比较(19页珍藏版)》请在金锄头文库上搜索。

1、VSS、CVS、SVN和ClearCase等配置工具的评估和比较 版本 修订历史记录日期版本说明作者2007-09-061.0新建目 录1概述42主要功能说明42.1Internet网络访问和远程管理52.2并行开发支持62.3跨平台开发支持62.4开发操作使用的便利性62.5信息安全性73性能详述73.1VSS73.2CVS73.3SVN83.4ClearCase163.4.1控制任何文件的版本173.4.2在版本树中组织元件发展的过程173.4.3使用常见的检出/编辑/检入范例183.4.4通过分支功能支持并行开发193.4.5自动的比较和版本间的归并191 概述Visual Source

2、Safe:微软的版本控制工具,仅支持Windows操作系统。虽然简单好用,但是仅适用于团队级开发,不能胜任企业级的开发工作。 Clearcase:IBM旗下Rational公司(2003年被IBM收购)的一款重量级的软件配置管理(SCM, Software Configuration Managemen)工具。与CVS和VSS不同,Clearcase涵盖的范围包括版本控制、建立管理、工作空间管理和过程控制。从最初的软件配置计划,到配置项的确立,从变更控制到版本控制,Clearcase贯穿于整个软件生命周期。 Clearcase支持现有的绝大多数操作系统,但它的安装、配置、使用相对较复杂,并且需

3、要进行团队培训。 CVS:Concurrent Versions System。CVS 是有着三十年以上的时间的考验。CVS是开放源代码软件世界的一个伟大杰作,由于CVS功能强大,跨平台,支持并发版本控制,而且免费,所以它在全球中小型软件企业中得到了广泛使用。CVS最大的遗憾就是缺少相应的技术支持,许多问题的解决需要自已寻找资料,甚至是研究源代码。CVS是一个典型的服务器/客户端软件,有UNIX版本的CVS 、Linux版本的CVS和WINDOWS版本的CVS。CVS支持远程管理,项目组分布开发时一般都采用CVS。 SVN:Subversion。采用了更先进的分支管理系统,它的设计目标就是取代

4、CVS,CVS纵然易用,但也有一些与生俱来的缺点,比如CVS不支持文件改名,只对文件控制版本而没有针对目录的管理等。之后CVS 的创始人之一在其现任公司的资助下开发了SVN,用以针对CVS 的一些弱点进行改进。2 主要功能说明CVS纵然是一个老牌的工具产品,并也对开源事业有贡献,但CVS的命令行操作着实让一些使用者头疼。在对一个特定版本的文档Check in的时候,需要输入一长串的路径名、文件名。在操作易用性上与CVS形成对比的是微软家族的VSS。作为微软的产品,在图形界面化操作上自不用多言,但VSS只能适用于小团队的开发工作。VSS是很好的入门级工具,但它的一些功能太过于“入门”,在验证密码

5、、保存密码这些基本功能上处理的不尽人意。适用于大型软件开发的有“中坚级”的Clearcase,用它来管理一些小型的项目管理有些“大材小用”。Clearcase支持目录版本管理、异地团队开发、视图、多服务器等强大功能,所以一些大公司把它做为一、二级产品管理用,但同样它的价格也不菲。CVS是开源的,免费的,更何况它还有一个理想的替代者SVN。SVN的设计专门针对CVS的问题作了改进,命令的设计更为合理,对二进制文档和目录这样的数据加强了控制能力,并且吸收了VSS的lock-modify-update(release)的模式和modify-merge模式的优点这两种方式在一定程度都支持并作了优化,没

6、有提高使用的复杂度。由于SVN的设计结构很好,所以很容易为它开发客户端,还有WEB模式的,可以远程管理,支持RSS更改订阅。功能名称Internet网络和远程管理并行开发跨平台开发操作的便利性信息安全性VSS最新发布版本VSS8.0可支持此功能最新发布版本VSS8.0支持此功能仅支持Windows 操作系统安装、配置、使用均较简单,很容易上手使用安全性不高,基于文件系统共享实现对服务器的访问,需要共享存储目录,这样用户可以对VSS的文件夹执行删除操作。CVS支持,速度一般支持支持几乎所有的操作系统安装、配置较复杂,但使用比较简单,只需对配置管理做简单培训即可安全性高,CVS服务器有自己专用的数

7、据库,文件存储并不采用 “共享目录”方式,所以不受限于局域网。SVN相比CVS,更加适合基于互联网协作开发的团队,速度也更快相比CVS,能够保证所有的修改都入库生效同上同上同上ClearCase速度最快,且不受网络连接带宽的限制、防火墙以及安全问题的影响。支持支持常见的平台安装、配置、使用相对较复杂,需要进行团队培训安全性不高,采用C/S模式,需要共享服务器上的存储目录以供客户端访问2.1 Internet网络访问和远程管理VSS、CVS和SVN都提供基于Web的界面,用户可以通过浏览器执行配置管理的相关操作,即通过这样的方法来实现对异地开发的支持。但是相对于CVS,SVN采用统一的二进制差异

8、算法,所以消耗更少的网络带宽,因此更加适合基于互联网(或广域网)进行协作开发的地理上分布的团队,即版本服务器集中、单一;客户端可广泛分布。 其实上述实现方法有太多的局限性,例如网络(Internet)连接带宽的限制、防火墙以及安全问题等。真正意义上的异地开发支持,是指在不同的开发地点建立各自的存储库,通过工具提供同步功能自动或手动同步。这样做的好处是与网络无关,即便各个开发地点之间没有实时连通的网络,也可以通过E-Mail 附件等其它方式将同步包发给对方,实现手动的同步。而ClearCase就能实现这样的功能。值得说明的是,在不同开发点建立各自存储库的方式,主要适用于两个或两个以上位于不同地点

9、的开发团队协作开发的情况。如果仅是采用虚拟团队合作的方式,开发人员以个体的形式散落在不同地方,则更适合通过Internet 直接操作远程的配置管理服务器。2.2 并行开发支持 在团队协作开发过程中,有两种主要的模式:集体代码权和个体代码权。采用集体代码权模式进行开发时,一段代码可能同时会被多个开发人员同时修改;而采用个体代码权模式进行开发时,每一段代码都始终被一个开发人员独享,别人需要修改时也要通过该开发人员完成。而配置管理软件针对这一情况,也采用了不同的策略:Copy-Modify-Merge(拷贝、修改、合并) 的并行开发模式、Check ut-Modify-Check in(签出、修改、

10、签入)的独占开发模式。在并行开发模式下,开发人员可以并行开发、更改代码,并能够自动检测到代码冲突,并自动合并,或提示开发人员手动解决。VSS最新发布版本8.0可支持并行开发模式,其它三种工具也都可支持。CVS 采用线性、串行的批量提交,即依次地,一个接一个地执行提交,每成功提交一个文件,该文件的一个新的版本即被记录到版本库中,提交时用户提供的日志信息被重复地存储到每一个被修改的文件的版本历史中。但是当任何原因造成批量操作的中断时(典型原因包括:网络中断、客户端死机等),版本库往往处于一个不一致的状态:原本应该全部入库的文件只有一部分入库,很有可能版本库中的最新版本不能顺利编译,更为严重的是,随

11、着其他的用户执行cvs update 操作,该不一致性将迅速在开发团队中扩散,从而严重影响团队的开发效率,并存在质量隐患。另外,假如该批量提交的中断没有被及时发现,开发团队往往要花更多的时间进行软件调试和排错。SVN彻底消除了CVS 的以上弊端。无论批量提交包含多少文件修改,只有当全部文件修改都成功入库,该提交才变得有效,才对其他用户可见;否则,无论任何原因造成中断,SVN 都会自动执行“回滚”(rollback)操作。换一个说法,SVN保证所有的修改要么全部入库生效,要么一个也不入库,即对版本库不作任何的修改。这就是SVN 的原子性提交(atomic commit)。ClearCase可以很

12、容易的产生分支,也可以很容易的将不同分支进行合并。这样一来,即便某一部分的工作被冻结或加锁,开发者仍然可以继续自己的工作(如:在软件集成期)。在这种情况,开发者可以在分支上工作,ClearCase的自动化操作和图形归并工具可以很容易的重新集成新的工作。2.3 跨平台开发支持 如果企业需要从事多个不同平台下的开发工作,就需要配置管理工具能够对跨平台开发提供支持,否则势必会给开发、测试、发布等各个环节带来不便,将使大量的时间被浪费于代码的手工上传、下载中。VSS仅支持Windows 操作系统。CVS、SVN和ClearCase支持几乎所有的操作系统和平台。但是CVS和SVN的服务器端在Unix,

13、Linux环境下运行会更稳定可靠。2.4 开发操作使用的便利性VSS安装、配置、使用均较简单,很容易上手使用。CVS和SVN安装、配置较复杂,但使用比较简单,只需对配置管理做简单培训即可。ClearCase安装、配置、使用相对较复杂,需要进行团队培训,需投入成本大概四万元。2.5 信息安全性VSS它是基于文件系统共享实现对服务器的访问,需要共享存储目录,这样用户可以对VSS的文件夹执行删除操作,安全性不高。CVS和SVN服务器有自己专用的数据库,文件存储并不采用 “共享目录”方式,所以不受限于局域网。安全性较高。ClearCase采用C/S模式,需要共享服务器上的存储目录以供客户端访问,安全性

14、不高。3 性能详述3.1 VSS优点:操作简单,容易掌握;权限划分可到文件夹级,有Read、CheckOut&CheckIn、Add/Rename/Delete、Destroy四种权限级别。 缺点:权限管理基于文件共享形式,只能从文件夹共享的权限设定对整个库文件夹的权限,而且必须要有可写权限;版本管理和分支管理只能靠人为的手工设置;版本发行时,只能手工挑选对应的版本文件进行发布。最新版本VSS8.0主要增加了以下功能: 支持并行开发 支持基于Internet的远程访问模式 分布式团队协作增强3.2 CVSCVS 诞生于 1986 年,当时作为一组 shell 脚本而出现;1989年3月,Bri

15、an Berlinor用C语言重新设计并编写了CVS的代码;1993年前后,Jim Kingdon最终将CVS设计成基于网络的平台,开发者们能从Internet任何地方获得程序源代码。截至目前最新版本是2004年12月13日发布的功能介绍 代码统一管理,保存所有代码文件更改的历史记录。对代码进行集中统一管理,可以方便查看新增或删除的文件,能够跟踪所有代码改动痕迹。可以随意恢复到以前任意一个历史版本。并避免了因为版本不同引入的深层BUG。 完善的冲突解决方案,可以方便的解决文件冲突问题,而不需要借助其它的文件比较工具和手工的粘贴复制。 代码权限的管理,可以为不同的用户设置不同的权限。可以设置访问用户的密码、只读、修改等权限,而且通过CVS ROOT目录下的脚本,提供了相应功能扩充的接口,不但可以完成精细的权限控制,还能完成更加个性化的功能。 支持方便的版本发布和分支功能

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号