常用版本控制软件简介

VSS是美国微软公司的产品。目前常用的版本是6.0。VSS是一个很好的配置管理入门级工具。

易学易用是VSS的强项。VSS采用标准的windows操作界面,只要熟悉微软产品,就能快速上手。VSS的安装和配置非常简单。对于这款产品来说,不需要外部培训(可以为公司省下一大笔钱)。只要参考微软完整的随机文档,就可以在实际项目中快速使用。

VSS配置管理的功能比较基础,提供了文件版本跟踪的功能。对于构建和基线的管理,VSS标签功能可以提供支持。VSS提供共享、分支和合并功能,支持团队发展。VSS不提供进程管理功能,例如控制已更改的进程。

VSS无法为异地团队开发提供支持。另外,VSS只能在windows平台上运行,不能在其他操作系统上运行。有些软件提供商提供VSS插件,可以同时解决VSS跨平台和远程连接两个问题,比如针对VSS的Source Anywhere和Source Off Site。

VSS的安全性不高。对于VSS用户,您可以设置不可读、可读和可读/可写文件夹,并且您可以完全控制这四个级别的权限。但是,由于VSS文件夹在与用户完全共享之前无法访问,因此用户可以删除所有VSS文件夹。这也是VSS的一大劣势。

VSS不收取许可证费用。只要安装了VSS,用户数量就没有限制。因此,使用VSS的成本较低。

Microsoft不再为VSS提供技术支持。CVS是一个开发源代码的配置管理工具,其源代码和安装文件可以免费下载。

CVS是一个源于unix的版本控制工具。对于CVS的安装和使用,最好了解unix系统,学习起来更轻松。CVS的服务器管理需要各种命令行操作。目前CVS的客户端有winCVS的图形界面,服务器端也有CVSNT的版本,所以可用性在提升。

除了VSS的功能之外,CVS的功能还包括:

其客户端/服务器访问方法使开发人员能够从任何互联网接入点访问最新的代码。其无限版本管理检出(检出:注1)模式避免了独占检出模式带来的通常的手动冲突;它的客户端工具可以在大多数平台上使用。类似地,CVS不提供变更过程的自动管理。

一般来说,CVS的权限设置比较单一,只能通过CVS root/passwd、CVS root/readers、CVS root/writers来完成,同时还要设置CVS REPOS的物理目录权限,无法完成复杂的权限控制;而CVS通过CVS根目录中的脚本提供了具有相应功能扩展的接口,不仅可以完成精细的权限控制,还可以完成更多个性化的功能。

CVS是开发源码软件,不需要支付购买费用。

也因为CVS是开发源码软件,没有厂商为其提供技术支持。如果发现问题,一般只能自己去网上找资料解决。StarTeam是Borland公司的配置管理工具。StarTeam是一款高端工具,在易用性、功能性、安全性方面都非常好。

StarTeam的用户界面类似于VSS,其所有操作都可以通过图形用户界面完成。同时,对于习惯使用命令模式的用户,StarTeam还提供了命令集来支持。同时StarTeam的随机文档也很详细。

除了VSS和CVS的功能,StarTeam还提供了基于数据库的变更管理功能,这在相应的工具中是独一无二的。StarTeam还提供了流程定制的工具,用户可以根据自己的需求灵活定制流程。与VSS和CVS不同,VSS和CVS是基于文件系统的配置管理工具,而StarTeam是基于数据库的。StarTeam用户可以根据项目的规模选择多种数据库系统。

STARTEAM通过自己的数据库管理实现了类似WINDOWSNT的域用户管理和目录文件ACL控制,无需设置物理路径的权限。StarTeam完全独立于域。这个优点可以为用户模型提供灵活性,而不会影响现有的安全设置。StarTeam的访问控制非常灵活和系统。您可以对项目、视图、文件夹甚至每个小项目设置权限。对于高级视图,访问控制可以与用户组、用户、项目甚至视图联系起来。

StarTeam根据许可证收费。相比VSS和CVS,企业启动StarTeam需要投入一定的资金进行配置管理。

Borland将培训用户,并与用户合作建立配置管理系统。并为用户提供完善的技术升级等支持。ClearCase是Rational公司的产品,也是目前广泛使用的配置管理工具。

ClearCase的安装和维护远比StarTeam复杂。要成为一名合格的ClearCase系统管理员,您需要接受专门的培训。ClearCase提供了命令行和图形界面的操作方式,但是命令行的所有功能并不能从ClearCase的图形界面中实现。

ClearCase提供了VSS、CVS和StarTeam支持的功能,但不提供变更管理的功能。Rational也提供了ClearQuest工具来提供变更管理的功能。与StarTeam不同,ClearCase后台的数据库是一个专有结构。ClearCase支持windows和unix平台。ClearCase通过多点复制支持多服务器多点的可扩展性,擅长设置复杂的开发流程。

与StarTeam相比,ClearCase的权限设置功能有独立的安全管理机制,而ClearCase没有专门的安全管理机制,依赖于操作系统。

选择ClearCase,我们不仅需要考虑购买许可的成本,还需要考虑必不可少的技术服务成本。没有Rational公司的专业化技术服务,很难发挥ClearCase的力量。比如,虽然网上有ClearCase破解软件,但尝试应用的公司大多失败。另外,对于web访问的支持和变更管理的支持功能,需要另外购买相应的软件。

Rational已经被IBM收购,所以有可靠的售后服务保障。SVN的全称是Subversion,也就是版本控制系统。

像CVS一样,SVN是一个跨平台软件,支持大多数常见的操作系统。作为一个开源版本控制系统,Subversion管理随时间变化的数据。这些数据放在一个中央存储库中。这个归档很像一个普通的文件服务器,但是它会记住每个文件的变化。这样,您可以将文件还原到旧版本,或者浏览文件的更改历史。Subversion是一个通用系统,可以用来管理任何类型的文件,包括程序源代码。

SubVersion:实现服务系统的软件。

TortoiseSVN:它是一个SVN客户端程序,是一个用于windows shell的Subversion客户端,可以集成到windows资源管理器和文件管理系统中。

SVNService.exe:是专门为SubVersion开发的入口程序,用作Win32服务钩子。

AnkhSVN:它是一个为Visual Studio提供SVN的插件。SourceAnywhere系列是由加拿大公司Dynamsoft开发的,有三个产品,Source Anywhere for VSS,Source Anywhere Standalone,Source Anywhere Hosted。

SourceAnywhere for VSS是微软推荐的工具,用于远程和跨平台访问VSS。SourceAnywhere Standalone的界面风格类似于VSS,但它基于SQL Server并具有其他安全和远程访问机制,可在WAN中使用。支持将数据从VSS库导入SourceAnywhere。SourceAnywhere Hosted是SourceAnywhere Standalone的托管服务SaaS。Git是一个开源的分布式版本控制系统,用于有效快速地处理从非常小到非常大的项目版本管理。

Git是由Linus Torvalds开发的开源版本控制软件,用于帮助管理Linux内核开发。

Torvalds开始开发Git作为替代BitKeeper的过渡解决方案,BitKeeper一直是全世界Linux内核开发者使用的主要源代码工具。开源社区的一些人觉得BitKeeper的许可证不适合开源社区的工作,所以Torvalds决定研究一个许可证更加灵活的版本控制系统。尽管最初开发Git是为了辅助Linux内核开发过程,但我们发现Git也用于许多其他自由软件项目。比如最近迁移到了Git,很多Freedesktop项目也迁移到了Git。