软件配置管理一直以来是软件工程的基础。而配置管理本身对于开发者及软件工程生命周期管理来说,不但具备其基本的 版本控制功能,还需要具备工作空间管理、构建管理、流程管理等。其中各家的实现均有特点。而以Clearcase为例除了基本功能以外,优势及特色有以下:
1、CC不是独立的软件,可以结合clearquest,简称CQ,构建符合软件工程方法论RUP思想的 UCM统一配置管理。的配置管理。因此CC可以使用基本的配置管理,成为base方式,也可以使用IBM特色的并且具备了IBM SCM的最佳实践的UCM方式。 优势明显。
2、由于IBM软件工程各个阶段及领域都有产品和工具,其特色的领域还无人出其右,无论是需求分析,建模,还是集成,开发,测试,实施,配置管理,变更管理,发布管理等均有产品。其中许多产品还是业界标准,比如UML,DOORS等。因此 独立使用CC会觉得比较复杂,但是如果你的系统有足够多的IBM产品,比如AIX,ROSE,WEBSPHERE MQ等那么其CC的集成能力就体现出来了。由此,大规模使用CC的人想换平台就很难了,比如CCCQ中已经大量定制了权限,写了trigger,为CQ写了和CC相应的HOOK程序,有VBS的,有perl的。这样,你很难迁移到其他单一的平台,比如CVS,SVN等了。因为这些开源或其他商业软件能够满足某一个功能,但是集成面来说,异常麻烦。最后你有精力全盘从需求分析到开发,测试,管理全换那个精力还真不如好好用好Rational RUP平台了。
3、CC提供众多的迁移工具,无论是从其他工具迁移到CC,还是从CC迁移到SVN等反向,都没有问题。这不但可以用,而且已经成为了产业。
4、CC的实施能卖得出价钱,开源的或VSS等MS Team Foudation却难以卖出价格。对于技术服务提供商以及分销、代理来说,没有足够的动力。
在技术方面:
1、CC是集中式VOB库的代表,遇到分布各地甚至全球的库来说,CC有专门的版本 CC Multiside版本,可惜比较贵。CC标准版是它的子集,有专门的命令和接口来负责Multiside之间进行同步。其中适合全球性质的库来做。可以做到日不落开发。可惜这些操作难度较高。需要CC管理员,而对于不同的时差,不同的国家来说,配置各有调优空间,这是个慢工出细活的过程,做好了,效果很好,不逊色Hg git等分布式配置管理系统,但是做不好,几乎会骂声一片。
2、Git简单,高效。好用。不需要单独招管理员均可以运行。可以由项目的集成管理人员来兼职即可。release人员和debug人员的配合以及baseline,tag使用的水平决定了其Git的使用好坏。因此灵活强大。
3、CC适合订单式编程的项目,Git适合开源参与提交的项目
4、CC和Git的权限人员管理都是依赖于操作系统,比如windows平台,CC依赖于AD活动目录域控制器。而Git依赖依赖于cygwin的权限配置。
5、CC做好了的系统想变很难。因为CCCQ做的好的系统,其trigger,hook钩子程序会其主要作用,且这些程序均是CC特有,无法迁移到其他系统。而现状是其他系统要么无法实现,要么实现起来也没有现成的用,要么实现起来很难,要么实现了会随着这些开源软件版本升级而导致不可用。
6、由于Rational Jazz的RTC中已经有了做版本控制的功能,且不基于CC,所以,如果你只是版本控制,就用JAZZ即可。而且10用户含以下均免费。上手容易,且SVN等开源是更好的选择。当然JAZZ和CC也有集成包,迁移包免费提供
7、JAZZ和CC有市场定位,但是在中国,不说了,都不按规则出牌
8、想CC主内,Git主外是我的想法。那么我怎么做到的CC和Git牵手呢,用的这个:http://clearcase-git-integration.com/
再来看看其他高手的评价:为节选转载
————————————————————————————
Git 没有对版本库的浏览和修改做任何的权限限制。它只适用于 Linux / Unix 平台,
Git 分布式版本管理系统,适用于参与开源项目的开发者。 他们由于水平高,更在乎的是效率而不是易用性。靠开发人员本身自我约束。
由于版本过多,权限管理无限制,人员流动可能造成资产流失的风险。
总结:
不适合公司项目管理。
Clearcase 则不同, 它适合公司开发团队。使用起来更加容易。是集中式版本管理系统。
Clearcase具备完整统一变更管理平台以CC、CQ的实施为整体基础的计划管理、需求管理、缺陷跟踪、任务管理等,提高项目监控和管理水平。
实现对变更和缺陷进度的监控,跟踪、对开发员的工作量和进度的监控跟踪。通过CC -CQ 统一变更管理、需求、变更或缺陷到代码版本和代码行之间关联实现眼更变更管理控制,而且便于实现 review
总结:
版本计划,任务缺陷跟踪 有效的跟踪和管理,项目源代码和发布软件 一致,完整,准确。使得版本质量得到保证。
流程统一
账号统一
集中管理
适用范围:
Git 适用于通过Internet,有多个开发角色的单个项目开发
Clearcase适合企业内部由项目经理统一协调的多个并行项目的开发
权限管理策略:
Git 没有严格的权限管理控制,只要有帐号,就可以导出、导入代码,甚至执行回退操作
删除分支等,导致细节丢失!过程不完整!权限需要通过脚本工具等来定义实现
Clearcase则有严格的权限管理,简单方便-
1)很明显,Clearcase问世已久,业已发展成为一个成熟的、集中式的软件配置平台(或许有臃肿之象);而另外一方,后起的Git携其分布式、易 用的特性(姑且认这两点是Git的最大优势)引来了越来越多的软件开发组织的重视和使用。在这种环境之中,Git在严密的版本管理、变更控制方面相较于 Clearcase都显示出了不够完善的一面,可是人家就是获得了更多人的亲睐,这是为什么?很显然,这些人并非冲着"Git在严密的版本管理、变更控制 方面的不完善”,那么他们到底看重了Git的什么特性?而他们看重的这些特性是否反映了软件工业发展的某些趋势特征,某些关乎我们吃饭家伙的未来重要提 示,或者至少提示我们是否应该放弃CC的继续深造而安心的投入到Git的学习中?或者两手都要抓?
2) 另外,前面有一位前辈说到软件公司1.Git是采用分布式,也就是不再有统一的配置库,每个人的PC上都有一个库。自己基于自己的库进行版本管理。这也正符合了GOOGLE一些开发模式, 简单地分析就是产品的开发组织者不必搭建一个强大的配置库、不必去维护权限、不必担心有人提交“不适当”的代码,反正公共代码就在那,谁乐意参与开发就用 Git去fetch一下,谁觉得自己开发的OK了,就提交一份Patch给开发组织者,开发组织者选取其中的精华进行合并,更新主版本。但这种方式,我个 人觉得在非开源项目、集中开发等国内大部分软件开发企业所处的氛围中,不是太适用,或者说我们更需要一个传统的库,大家基于它检出检入,同时根据这个库得 出一些统计指标进行管理决策。毕竟,开发者的工资、奖金、福利是公司支付的,而参与那些类似android的开源项目的开发者不受任何约束和管理。
有一个比较大的优势,就是可以跟SVN结合,我们目前在这方面也在做尝试,即现场的二次开发内部用Git,同时对于与总部主版本的交互用 SVN(总部不需要二次开发版本的回归)。这样既保留了总部SVN库的统一和权限的规范,同时又给现场二次开发提供了便利,他们之间可以不Git的邮件方 式发送代码和版本差异。这一点,还需要好好探索,目前仅仅是初级了解。。
3.每种管理工具,都有它自己的特性和优缺
Git 是 Linus Torvalds 最近实现的源代码管理软件。Git 是一个快速、可扩展的分布式版本控制系统,它具有极为丰富的命令集,对内部系统提供了高级操作和完全访问。
优点:
1).免费,开源项目android都用它。
2). 分支更快、更容易。
3). 支持离线工作,本地提交可以稍后提交到服务器上。
4). Git 提交都是原子的,且是整个项目范围的,而不像 CVS 中一样是对每个文件的。
5). Git 中的每个工作树都包含一个具有完整项目历史的仓库。
6). 这个工具最大的好处就好像word中关闭文件前的撤销功能。就是它在开发开始的时候首先checkout出代码,然后建立一个分支,开始开发。修改代码 后,提交(仅在本地保存版本信息,未提交到服务器)。等一个任务完成后合并到主干,然后提交到代码服务器。也就是上面提到的离线开发。由于分支是在本地建 立的,所以不管是提交还是建立分支,合并分支,速度都会很快。
7). git引入一个索引(index)的概念,提交前,需要把要提交的文件加入到git索引(index)中:
git add path/filename1
git add path/filename2
然后提交.
8). ClearCase是集中控制的,而Git是分布式的,也就是不再有统一的配置库,每个人的PC上都可以有一个库,自己基于自己的库进行版本管理。Git两点最重要:
- branch 更方便;
- merge更方便。
缺点:
1). Git 没有对版本库的浏览和修改做任何的权限限制。它只适用于 Linux / Unix 平台。
2). Git 分布式版本管理系统,适用于参与开源项目的开发者。 他们由于水平高,更在乎的是效率而不是易用性。靠开发人员本身自我约束。
由于版本过多,权限管理无限制,人员流动可能造成资产流失的风险,不适合公司项目管理。
3).Clearcase 则不同, 它适合公司开发团队。使用起来更加容易。是集中式版本管理系统。
Clearcase具备完整统一变更管理平台以CC、CQ的实施为整体基础的计划管理、需求管理、缺陷跟踪、任务管理等,提高项目监控和管理水平。
实现对变更和缺陷进度的监控,跟踪、对开发员的工作量和进度的监控跟踪。通过CC -CQ 统一变更管理、需求、变更或缺陷到代码版本和代码行之间关联实现眼更变更管理控制,而且便于实现 review。
总结:
版本计划,任务缺陷跟踪 有效的跟踪和管理,项目源代码和发布软件 一致,完整,准确。使得版本质量得到保证。
流程统一
账号统一
集中管理
适用范围:
Git 适用于通过Internet,有多个开发角色的单个项目开发.
Clearcase适合企业内部由项目经理统一协调的多个并行项目的开发.
权限管理策略:
Git 没有严格的权限管理控制,只要有帐号,就可以导出、导入代码,甚至执行回退操作。
删除分支等,导致细节丢失!过程不完整!权限需要通过脚本工具等来定义实现.
Clearcase则有严格的权限管理,简单方便。 点,这些特性和优缺点绝不是简简单单的风格问题,应该都是针对开发者或设计者所面临的现实环境,所以我们在选择 配置管理工具的时候,不仅要认识、了解工具的特性和优缺点,更要清楚它是解决什么问题的、它面对的情景是什么。Git、SVN、CC,亦是如此~在新配置平台的投资这个问题,我认为这个很重要!因此,为了挽留用户群,有没有可能IBM开发出来具有分布式、易用等特 性的CC供老客户升级,或者Git应广大用户的要求不断完善版本管理和变更控制等方面的特性,最后两个软件平台又趋于一致,等待未来某个带有革命性特征的 新平台的挑战。
$ b" f* W5 @+ A# u+
分享到:
相关推荐
git-cc, Git和Clearcase的桥接 cc基本的ClearCase或者UCM与Git之间的桥梁。警告警告我写这个纯粹是为了有趣,看看能否在工作中停止使用 ClearCase 。我可以能会继续在 hack 上找到我的需求,但是我很愿意看到一些...
常见的配置管理工具比较,内容是用英文写的,请注意!
clearcase clearquest集成使用指南 1 ClearCase和ClearQuest的集成 4 2 集成过程 4 2.1 创建CQ Enabled Project 4 2.2 设置策略 6 2.3 关联活动 7 2.4 在ClearQuest界面执行ClearCase的一些操作 9 2.5 如何取消...
git-to-clearcase是一个简单的 Java 命令行应用程序,它在 Clearcase UCM 视图上重现 GIT 提交,使第二个与前者保持同步。 它旨在让当前的趋势成为敏捷开发、增量设计和重构的 IT 部门,这些部门仍然依赖老式 ...
NULL 博文链接:https://lindows.iteye.com/blog/512414
基本的ClearCase或UCM与Git之间的简单桥梁。 警告 我纯粹是出于娱乐目的而写的,目的是看我是否可以一劳永逸地停止在工作中使用ClearCase。 我可能会继续修改它以适应我的需要,但是我很想看到它得到一些实际的...
它优于 Subversion、CVS、Perforce 和 ClearCase 等 SCM 工具,具有便宜的本地分支、方便的暂存区和 多个工作流等功能。 软件包: Git-2.38.0-64-bit.exe 适用于windows x64系统 Git-2.38.0-32-bit.exe 适用于...
它胜过SCM工具,如颠覆,CVS,Perforce公司,和ClearCase与像廉价的本地分支,便捷的中转区,和多个工作流功能。与CVS、Subversion一类的集中式版本控制工具不同,它采用了分布式版本库的作法,不需要服务器端软件,...
Git gui(git客户端)64位是免费、开源的分布式版本控制系统,用于Linux内核开发的版本控制工具,GUI的方便快捷,也不用记忆冗杂的命令,这里为大家分享的是Windows下的GIT客户端,有需要的赶快下载吧! Git是简单易学...
它胜过SCM工具,如颠覆,CVS,Perforce公司,和ClearCase与像廉价的本地分支,便捷的中转区,和多个工作流功能。与CVS、Subversion一类的集中式版本控制工具不同,它采用了分布式版本库的作法,不需要服务器端软件,...
它胜过SCM工具,如颠覆,CVS,Perforce公司,和ClearCase与像廉价的本地分支,便捷的中转区,和多个工作流功能。与CVS、Subversion一类的集中式版本控制工具不同,它采用了分布式版本库的作法,不需要服务器端软件,...
Git-2.39.2-64-bit.exe Git是一个免费的开源分布式版本控制系统,可以快速高效地处理从小...它超越了像Subversion、CVS、Perforce和ClearCase这样的配置管理工具,具有简易的本地分支、方便的暂存区和多工作流等特性。
Git-2.40.0-64-bit.exe Git是一个免费的开源分布式版本控制系统,可以快速高效地处理从小...它超越了像Subversion、CVS、Perforce和ClearCase这样的配置管理工具,具有简易的本地分支、方便的暂存区和多工作流等特性。
Git 是一个免费的开源 ...它优于 Subversion、CVS、Perforce 和 ClearCase 等 SCM 工具,具有便宜的本地分支、方便的暂存区和 多个工作流等功能。 git源码: git-2.38.0.windows.1.zip git-2.38.0.windows.1.tar.gz
Git 是一个免费的开源 分布式版本控制系统...它优于 Subversion、CVS、Perforce 和 ClearCase 等 SCM 工具,具有便宜的本地分支、方便的暂存区和 多个工作流等功能。 压缩包文件git-2.32.0.tar.gz 只适用于Linux系统。
Git is easy to learn and has a tiny footprint with lightning fast performance. It outclasses SCM tools like Subversion, CVS, Perforce, and ClearCase with features like cheap local branching, ...
Windows 64位Git工具最新版,官网下载太... It outclasses SCM tools like Subversion, CVS, Perforce, and ClearCase with features like cheap local branching, convenient staging areas, and multiple workflows.
Git Windows客户端是一个免费的开源分布式版本控制系统,旨在...Git PC版易于学习,速度快,使得它超越了Subversion,CVS,Perforce和ClearCase等SCM工具,具有便宜的本地分支,便捷的登台区域和多种工作流程等功能。
Git 是一个免费的开源 分布式版本控制系统,旨在快速高效地处理从小到大的...它优于 Subversion、CVS、Perforce 和 ClearCase 等 SCM 工具,具有便宜的本地分支、方便的暂存区和 多个工作流等功能。 只适用macOS系统
Git 是一个免费和开源的 分布式版本控制系统,旨在以速度和效率处理从小型到大型项目的所有...它优于 SCM 工具,如 Subversion、CVS、Perforce 和 ClearCase,具有廉价的本地分支、方便的暂存区域和 多个工作流等功能。