不同种类的版本控制工具优缺点 变速箱种类及优缺点

VSS

VisualSourceSafe:微软的版本控制工具,仅支持Windows操作系统。虽然简单好用,但是仅适用于团队级开发,不能胜任企业级的开发工作。

VSS优点:安装、配置、使用均较简单,很容易上手使用;操作简单,容易掌握;权限划分可到文件夹级,有Read、Check-Out&Check-In、Add/Rename/Delete、Destroy四种权限级别。

缺点:权限管理基于文件共享形式,只能从文件夹共享的权限设定对整个库文件夹的权限,而且必须要有可写权限;版本管理和分支管理只能靠人为的手工设置;版本发行时,只能手工挑选对应的版本文件进行发布;安全性不高,基于文件系统共享实现对服务器的访问,需要共享存储目录,这样用户可以对VSS的文件夹执行删除操作。

不同种类的版本控制工具优缺点 变速箱种类及优缺点

CVS

CVS是一个典型的服务器/客户端软件,有Unix版本的CVS、Linux版本的CVS和Windows版本的CVS。CVS支持远程管理,项目组分布开发时一般都采用CVS。安装、配置较复杂,但使用比较简单,只需对配置管理做简单培训即可。安全性高,CVS服务器有自己专用的数据库,文件存储并不采用“共享目录”方式,所以不受限于局域网。CVS可以跨平台,支持并发版本控制,而且免费。CVS不支持文件改名,只针对文件控制版本而没有针对目录的管理,并且缺少相应的技术支持,许多问题的解决需要自已寻找资料,甚至是研究源代码。但也可以根据自己的需要进行编程。

相对功能单一、简陋,适用于几个人的小型团队,在数据量不大的情况下,性能可以接受。

SVN

SVN(Subversion)是一种版本管理系统,其前身是CVS。SVN是根据CVS的功能为基础来设计的,它除包括了CVS的大多数特点外,还有一些新的功能,如:文件目录可以方便的改名、基于数据库的版本库、操作速度提升、权限管理更完善等。

CVS与SVN比较

比较项目CVSSVN
权限控制是否依赖系统帐号依赖不依赖
可否对分支授权
是否支持LDAP认证
图形化帐号管理是(集中管理平台)
用户可否获取忘记口令,修改口令是(集中管理平台)
目录,文件名变更
分支

管理

创建分支时间耗时*
分支可见、查询
二进制文件二进制优化
二进制文件标识手工自动
二进制文件(图形文件)被破坏易破坏不易破坏
事物

处理

原子提交
修改提交说明单个文件
换行

可否指定换行符类型
检查换行符设定,避免跨平台开发带来的混乱
功能扩展CVSROOThooks脚本
网络

带宽

网络带宽占用
脱机命令部分

ClearCase(闭源集中式)

ClearCase提供了全面的配置管理——包括版本控制、工作空间管理、建立管理和过程控制,而且无须软件开发者改变他们现有的环境、工具和工作方式。

ClearCase包括两套:ClearCaseLT和ClearCase(MultiSite)。前者可以用于在同一个局域网的开发小组,适合于中小型开发组织;ClearCase(MultiSite)则适应于分布于不同地理位置、不同局域网的开发小组,适合于大型的开发组织。

优势:

增加团队效率――通过对并行开发的支持来实现,包括图形比较和归并、标签、版本目录结构。

增加个人效率――通过自动的工作空间管理来实现,如:直接的版本访问、消除了在拷贝文件上的时间的浪费。

简单的维护和提高对客户的支持――通过快速准确的重建先前的版本来实现。

快速准确的产品发布――通过保证构造的准确性和对软件的每一个元件进行版本控制来实现。

减少错误发生――通过事件发生以后对每一个元件的变更进行追踪来实现。

硬件资源的优化――通过分布式构造、减少文件拷贝、可用对象的共享等功能来实现。

提高项目协调和编制――通过文件注释和开发周期阶段变更的自动关联来实现。

提高产品质量――通过灵活的进程控制,和图形接口定制,使得软件开发在实际中保持一致。

更加有效的团队扩展――通过减少系统管理和维护的负担来实现。

支持分布式结构使得团队成长――通过Client/Server结构进行多点复制和及时的对象版本的更新来实现。

使用配置管理工具而降低风险――由于它不干扰软件程序员的工作,所以可以使用常用的工具和文件系统接口。

增加了软件的安全性和保护性――通过使用分布式的存储结构,所有的软件资源会随时更新、在硬盘或网络出现错误时那些被ClearCase存储的版本信息会立刻恢复。

减少培训和实现成本――ClearCase通过采用透明结构以及和标准开发工具进行集成来实现。

强有力的开发和维护――通过和其它工具(如:缺陷追踪)、系统、结构进行集成。

支持不同种类的开发――通过兼容不同平台的软件配置管理系统,如:WindowsNT、UNIX、和一些Client端的软件,如:Windows95、WindowsNT、Windows3.1和WindowsforWorkgroups。

缺点:ClearCase太贵,易用性差,培训费用很贵,没有培训,很难上手使用。

StarTeam(闭源集中式)

StarTeam属于高端的工具,在易用性,功能和安全性等方面都很不错。StarTeam的用户界面同VSS的类似,它的所有的操作都可通过图形用户界面来完成,同时,对于习惯使用命令方式的用户,StarTeam也提供命令集进行支持。而且StarTeam的随机文档也非常详细。StarTeam还提供了流程定制的工具,用户可跟据自己的需求灵活的定制流程。与VSS和CVS不同,VSS和CVS是基于文件系统的配置管理工具,而StarTeam是基于数据库的。StarTeam的用户可根据项目的规模,选取多种数据库系统。StarTeam无需通过物理路径的权限设置,而是通过自己的数据库管理,实现了类似Windowsnt的域用户管理和目录文件ACL控制。StarTeam完全是域独立的。这个优势可以为用户模型提供灵活性,而不会影响到现有的安全设置。StarTeam的访问控制非常灵活并且系统。您可以对工程、视图、文件夹一直向下到每一个小的item设置权限。对于高级别的视图(view),访问控制可以与用户组、用户、项目甚至视图等链接起来。StarTeam是按license来收费的,比起VSS,CVS来,企业在启动StarTeam进行配置管理需要投入一定资金。

优点:权限设置功能强大方便。StarTeam的图形化界面,能够使初学者易于接收,而且其缺陷控制功能的功能(基于数据库的ChangeRequest),是相应工具中独树一帜的。

缺点:不支持并行开发,不能很好解决Merge的问题;不支持分支的自动合并,需要手动来处理;速度慢,一定程度上影响开发效率;故障恢复困难,需要有专职管理员维护;没有中文版本;另外,StarTeam集成度较高,移植过程复杂,需要的管理负担大,需要完善的备份计划。

GIT(开源分布式)

GIT是一款免费的、开源的、分布式的版本控制系统。旨在快速高效地处理无论规模大小的任何软件工程。与常用的版本控制工具CVS,Subversion等不同,它采用了分布式版本库的方式,不必服务器端软件支持,使源代码的发布和交流极其方便。每一个GIT克隆都是一个完整的文件库,含有全部历史记录和修订追踪能力。其最大特色就是“分支”及“合并”操作快速、简便。支持离线工作,GIT是整个项目范围的原子提交,而且GIT中的每个工作树都包含一个具有完整项目历史的仓库。

GIT本来是面向Linux操作系统开发的软件。在Linux平台上使用GIT非常简单,都是命令行模式。但对windows以及中文的支持不是很好。

Mercurial(开源分布式)

Mercurial是一种轻量级分布式版本控制系统,采用Python语言实现,易于学习和使用,扩展性强。其是基于GNUGeneralPublicLicense(GPL)授权的开源项目。

相对于传统的版本控制,具有如下优点:

更轻松的管理。传统的版本控制系统使用集中式的repOSItory,一些和repository相关的管理就只能由管理员一个人进行。由于采用了分布式的模型,Mercurial中就没有这样的困扰,每个用户管理自己的repository,管理员只需协调同步这些repository。

更健壮的系统。分布式系统比集中式的单服务器系统更健壮,单服务器系统一旦服务器出现问题整个系统就不能运行了,分布式系统通常不会因为一两个节点而受到影响。

对网络的依赖性更低。由于同步可以放在任意时刻进行,Mercurial甚至可以离线进行管理,只需在有网络连接时同步。

简单易学、易于使用;轻量级,运行快速;可扩展性,易于根据用户需求自行定义、扩展。

Monotone(开源分布式)

Monotone是一个免费的分布式版本管理系统。提供了简单的文件事务版本存储,可离线操作,高效的点对点同步协议,支持历史版本敏感的合并操作、轻量级分支处理以及集成代码评审和第三方测试工具。使用加密的版本命令方式和客户端RSA认证,很好的支持国际化,不依赖第三方工具,支持跨平台。可运行在Linux,Solaris,MacOSX,Windows和其他Unixes上,遵循GPL协议。

  

爱华网本文地址 » http://www.aihuau.com/a/25101012/133627.html

更多阅读

烤瓷牙材料的优缺点 烤瓷牙的种类及优缺点

  相信很多牙齿患者都已经对烤瓷牙较为熟悉了,但是对于烤瓷牙有哪些种类却不是很清楚,其实,对于做需要做烤瓷牙修复的患者而言,了解烤瓷牙的种类并了解不同种类和烤瓷牙的优缺点是十分重要,这样可以帮助我们避免一些烤瓷牙修复可能带来

有效控制血糖的方法 控制血糖的茶

有效控制血糖的方法——简介血糖高严重威胁人的健康,长期的高血糖导致人体内糖代谢紊乱,导致糖尿病的发生,甚至带来一系列的并发症,危及患者身心健康,及带来严重的家庭负担。有效控制血糖才能避免疾病的进一步加重,降低疾病对身体健康的威

教你折叠不同衣服的方法:2 长袖

教你折叠不同衣服的方法:[2]长袖——简介动动手,收拾一下你的衣服吧教你折叠不同衣服的方法:[2]长袖——工具/原料长袖教你折叠不同衣服的方法:[2]长袖——方法/步骤教你折叠不同衣服的方法:[2]长袖 1、把衣服摊平教你折叠不同衣服的方

matlab的使用:8 如何画不同类型的三维图像

matlab的使用:[8]如何画不同类型的三维图像——简介这是本系列经验的第八篇,主要介绍用matlab软件画三维图像的一些相关函数,使用这些函数可以很方便的画出想要的图形,非常直观好用。matlab的使用:[8]如何画不同类型的三维图像——工具/

灭火器的种类及使用范围 灭火器种类及使用范围

灭火器是一种轻便的灭火工具,它可以用于扑救初起火灾,控制蔓延。不同种类的灭火器,适用于不同物质的火灾,其结构和使用方法也各不相同。一起来了解一下各种不同的灭火器适用于哪些场合吧。灭火器的种类及使用范围——工具/原料干粉灭火

声明:《不同种类的版本控制工具优缺点 变速箱种类及优缺点》为网友美男子分享!如侵犯到您的合法权益请联系我们删除