SourceSafe是Microsoft公司推出的配置管理工具,是Visual Studio的套件之一。SourceSafe是国内最流行的配置管理工具,用户量绝对是第一位。
SourceSafe长得很象早先土气的文件管理器,的确难看。但是难看不碍事,SourceSafe的优点可以用8个字来概括“简单易用,一学就会”,这个优点是它老妈Microsoft遗传下来的,是天生的。
虽然SourceSafe并不是免费的,但是在国内人们以接近于零的成本得到它,网上到处可以下载啊。当然Microsoft也不在乎这个小不点的软件,它属于“买大件送小件”的角色。如果你合法地得到Visual Studio,你就得到了免费的SourceSafe。
SourceSafe的主要局限性:
只能在Windows下运行,不能在Unix, Linux下运行。SourceSafe不支持异构环境下的配置管理,对用户而言是个麻烦事。这不是技术问题,是微软公司产品战略决定的。
适合于局域网内的用户群,不适合于通过Internet连接的用户群,因为SourceSafe是通过“共享目录”方式存储文件的。
人无完人,物不尽美。有些卖配置管理工具的软件供应商经常贬低SoureSafe,讽刺它是Source not Safe。我不想为谁辩护,只是给出一个例证说明SourceSafe的效用。有一个软件事业部(约百名开发人员)的十余个项目全部采用SourceSafe来管理,只用一台PC机作配置管理服务器,运行一年都没有发生异常现象。
CVS
CVS 是 Concurrent Version System(并行版本系统)的缩写,它是著名的开放源代码的配置管理工具。
CVS的官方网站是http://www.cvshome.org/ 。官方提供的是CVS服务器和命令行程序,但是官方并不提供交互式的客户端软件。许多软件机构根据CVS官方提供的编程接口开发了各色各样的CVS客户端软件,最有名的当推Windows环境的CVS客户端软件——WinCVS。WinCVS是免费的,但是并不开放源代码。
与SourceSafe相比,CVS的主要优点是:
SourceSafe有的功能CVS全都有,CVS支持并发的版本管理,SourceSafe没有并发功能。CVS服务器的功能和性能都比SourceSafe高出一筹。
CVS服务器是用Java编写的,可以在任何操作系统和网络环境下运行。CVS深受Unix和Linux 的用户喜爱。Borland公司的JBuilder提供了CVS的插件,Java程序员可以在JBuilder集成环境中使用CVS进行版本控制。
CVS服务器有自己专用的数据库,文件存储并不采用SourceSafe的“共享目录”方式,所以不受限于局域网,信息安全性很好。
CVS的主要缺点在于客户端软件,真可谓五花八门、良莠不齐。Unix和Linux 的软件高手可以直接使用CVS命令行程序,而Windows用户通常使用WinCVS。安装和使用WinCVS显然比SourceSafe麻烦不少,这是令人比较遗憾的。
ClearCase
Rational公司的ClearCase是软件行业公认的功能最强大、价格最昂贵的配置管理软件。
ClearCase主要应用于复杂产品的并行开发、发布和维护,其功能划分为四个范畴:版本控制、工作空间管理(Workspace Management)、构造管理(Build Management)、过程控制(Process Control)。ClearCase通过TCP/IP来连接客户端和服务器。另外,ClearCase拥有的浮动License可以跨越UNIX和Windows NT平台被共享。
ClearCase的功能比CVS、SourceSafe强大得多,但是其用户量却远不如CVS、SourceSafe的多。主要原因是:
ClearCase价格昂贵,如果没有批量折扣的话,每个License大约5000美元。对于中国用户而言,这无疑是天价。
用户只有经过几天的培训后(费用同样很昂贵),才能正常使用ClearCase。如果不参加培训的话,用户基本上不可能无师自通。
发表几点不同的看法
1.ClearCase既不是最贵的也不是功能最强的配置管理软件
至少PVCS Dimensions(不是PVCS VM啊,那个巨烂)就比ClearCase功能强大,且贵不少
2.VSS不是微软的产品,是微软收购的产品。VSS最初的名字叫Source Safe,是一家小公司的产品,92年曾经获了最佳小型管理工具奖,然后立即被微软收购。
但是微软收购的只是source safe的Windows版本,在美国还有另外两家公司分别获得了继续开发和销售source safe的Mac版本和Unix版本的许可。
他们仍然在销售mac和unix版本的source safe,根据当时的协议,三家公司的软件始终是保持兼容的。
此外,在ms买进vss之后,基本上没有对vss进行任何的研发,ms内部自身也不用vss
3.cvs的服务器软件不是用java开发的
cvs的历史要比java的历史久远的多,严格意义上cvs并没有真正意义上的服务器
pserver/ntserver之类的类服务器模式实际上都只是完成用户鉴别权限的工作
4.ClearCase是依赖与文件共享的
最早的ClearCase并不是rational的产品,而是一家叫做applo的公司在HP平台上开发的一套配置管理系统DTEMS(好像是这个名字)。ClearCase的核心是基于NFS的一套称作MFS的文件系统。后来applo几次转手倒卖给了rational.rational把它移植到了windows平台上,但是这个底层的架构至今没有发生变化。也就是说clearCase和vss一样是基于网络文件共享的。