有关项目的ClearCase 命令包括:mkproject, lsproject, chproject, 和rmproject。
流(Stream)
流可以比喻成开发的分支。流基本上是由元素的特定版本组成。普通分支和流主要的区别是在流里保存了附件的信息。比如,流里包含了基线,和一组活动。它也可以包含和其它流的关系,比如父流。基线,加上活动集,决定流里包括元素的哪些版本。
图1:流的例子
在图1里,有两个活动--活动1和活动2--已经添加到了流里。基线由那些在图里显示为粗体线条的元素版本表示。两个活动包含表示为不同的模式的元素版本。
流有两种基本的类型:集成流和开发流。对项目有一个且只有一个集成流 。在非常简单的项目里,开发者可以在集成流里做变更,工作在流里的每个项目成员只要一有检入,会看到所有其它的变更。更复杂的项目可能有一个和更多级别的开发流,它们始于集成流的不同基线配置。在此情况下,开发者在其的开发流上进行“个人”工作,并且项目成员不会立即看到彼此的工作。一旦开发者完成了他们自己在开发流上的工作,并准备共享给其余的项目成员时,开发流的内容被“提交”到集成流上。想像集成流是把来自开发流的所有变更集合在一起。
图2:集成流的例子
有关流的ClearCase命令包括: mkstream, lsstream, chstream, 和rmstream。
基线(Baseline)
基线代表了用于开始一个流和变基一个流的元素版本。一种查看基线的简单方法是把它们和标签进行比较,困难在于附加信息(包括关系)保存在基线里。基线是很多活动的起点,比如创建流,变基流,等等。
有关基线的ClearCase命令包括:mkbl, lsbl, chbl, rmbl, diffbl, setplevel, 和cleardiffbl。
活动(Activitie)
在ClearCase UCM项目里对任何元素的所有的变更必须关联到一个活动。一个活动是你的团队成员工作的基本单元。它有以下这些构件:
一个标题(ID)
一个创建者
一个变更集(变更元素的集合)
一个相应的流
如果你正在使用IBM Rational ClearQuest,一个活动通常联系到一个缺陷或一条增强请求。
有关活动的ClearCase命令包括:mkactivity, lsactivity, chactivity, 和rmactivity。
构件(Component)
构件允许你组建一组相关的目录和文件元素在一起,并且把它们和UCM项目进行绑定。一个构件被开发、集成,并且其所有的部分是一起发布的。所有的项目必须有一个和多个构件,并且在项目间可以共享构件。然而,一个构件不能跨越多个版本对象库(VOB),大的构件大小是它的版本对象库(VOB)。关于构件的其它内容包括:
元素不能从一个构件移动到另一个构件。
一个元素只能存在一个构件里。
一旦创建了一个构件,你不能重新组织它到子构件里。
预先计划构件是非常重要的。一个策略是:将要共享给其它项目的所有元素置于同一个构件中,或放到构件组中。
有关构件的ClearCase命令包括:mkcomp, lscomp, 和rmcomp。
文件夹(Folder)
一个文件夹是一个项目或多个项目包含信息的容器。文件夹可以包含其他的文件夹,以及任意数量的项目。你可能在你的VOB中一直在使用目录作为base ClearCase中的某些对象种类的一个文件夹。现在文件夹是第一个类对象,作为替代,你可以使用它们。
有关文件夹的ClearCase命令包括:mkfolder, lsfolder, rmfolder 和chfolder。
有用的UCM命令
理解UCM对象是将你的当前过程映射到UCM的第一步,但是为了有助于你的规划,还有一些你应当很好了解的常用命令。这些是基本的命令,可能是开发者经常使用的,理解什么时候使用这些命令是非常重要的。
工作在活动上
在检入或检出文件前,开发者需要设置一个活动到当前的视图。活动将跟踪在视图里发生的变化。所有的变更保存在一个变更集里。当提交活动时,变更集关联到这些提交到集成流里的活动,因此团队里的每个人能看到这些变更。
提交变更
一旦在一个活动上结束工作,你可以提交你的变更到默认的集成流(父流),或者提交到任何其它的你选择的流。流可以接受或拒绝变更,这取决于在团队里建立的方针。提交活动的命令是:
cleartool deliver -- 将元素的变更从一个源流提交到目标流。提交的状态也可以从此命令得到。
当提交开始时,它创建一个特殊的活动提交变更到集成流。活动的创建有助于管理任何可能的合并冲突和解决措施。提交可以分两步完成,或者是在一个单独步骤中完成。第一步是执行变更元素的合并。第二步确定变更并标识活动的完成。你可以通过使用complete标记来强制一步提交完成。
变基工作空间
你可能会阶段性地从集成流变基你的流。记住--你的开发流通常会等待很长时间。你会阶段性地需要从你的团队成员的活动上得到更新。基本上,在ClearCase变基命令只做如下工作:提供(并然后变更)其它团队成员已经提交到一个集成流上的活动。
cleartool rebase -- 变更流的配置
变基流时是一个多步骤的过程,很象提交活动。你可以从集成流集成代码到开发流,这包括移动标签并解决合并冲突。如同提交命令一样,-complete可以用于将自动创建的活动标记为已完成(换句话说,强制进行一步变基)。
作为一个配置经理,你好提供推荐基线,来让开发者能变基他们的开发流。例如,一个稳定的构造可以放到推荐的基线列表上,使开发者能够看到他们正在从一个在给定时间上的代码开始工作。
将两个世界连在一起
由于使用 base ClearCase,很多UCM模型的概念对于你已经做的可能不是很困难。现在主要规划的是什么是UCM要做的。接下来你能可以检查一下从整个UCM中得到的不同可用模型间的区别。这不是你能在两个小时内做到的--正如我们所概述的,你会需要花时间来构建一个完整的配置管理计划。你也需要彻底地详细说明你目前在使用什么,以及你想使用UCM做什么。