来自专有公司的源代码管理系统
图1:Borland的StarTeam
来自Borland的StarTeam在这个分类评测中夺魁,它在好几个标准上可以让用户满意,其中包括文件管理、合并跟踪信息、执行发布、登入/登出速度、管理费用、漏洞跟踪、产品关联和服务器使用率。此外,StarTeam的用户在所有的分类中将其评为前三,给了它很高的分数。但是,StarTeam的市场份额比较低,Borland曾经闻名一时的市场力量已经衰落,而且公司的稳定性最近也受到了质疑。
图2:Perforce公司的SCM工具
形成对比的是,Perforce是一个在公司历史中一直专注致力于开发源代码管理系统的公司。Perfoce的用户对产品的变更管理功能给了很高的评价,同样的还有产品的安全功能,它依靠LDAP或活动目录来进行验证和执行,这提供了认证的一种简便的方式,尽管它不如分层加密那样牢不可破。Perforce由开源数据库Ingres团队的成员创建,其不寻常之处在于它在软件中包含自己的数据库,而不是整合一个现有的数据库。Perforce可以被应用在小公司和大公司中,但它的主要目标用户是那些具有中等复杂度配置的开发团队的公司。
图3:IBM的ClearCase
IBM的ClearCase的情况和Perforce有些相似,也具有悠久的历史,并提供一些优先的功能。但是和Perforce一样,这个源代码管理系统创建在一个地理位置分散的团队,团队成员不常见面的时候,因此它在集中化的紧密控制的开发环境中才能最大发挥它的作用。ClearCase与Rational、之前的Pure软件有着很深的渊源关系,这两个公司都以专注于质量而闻名。
ClearCase的专有数据库也被嵌入在这个产品中,它提供内在的数据库,但是它也支持外部的数据库。一点不令人吃惊的是,这个产品支持统一变更管理(Universal Change Management,UCM),这是Rational Unifed Process应用程序生命周期技术的一部分。在文件、变更管理以及执行发布方面,Clearcase被它的用户打了高分。
像PVCS和本篇文章中提到的大多数源代码控制系统一样,ClearCase支持原子提交(atomic commits)变更集(changesets)。这些功能非常重要,可以保持相同版本中相关文件和在代码库中维持一致稳定性。事实上,变更集(changesets)定义了相关联的文件,在这些文件中,任何修改都将影响其他的文件。原子提交(Atomic commits)把变更集看作一个离散的单元;它们允许修改过的文件被登入,前提是所有变更集中的文件同时也被登入。这儿的原子不是取其爆炸的意思,而是希腊语中的“不可分割”的意思,这是事务处理技术中的一个重要的概念,这是一个重要而且被人期盼的功能。