概述
Rational ClearCase 使用与虚拟文件系统组合的视图模型,它允许您指定要操作的文件版本的阵容。然后,Rational Rose RealTime 查看当前视图中的文件,就象这些文件存储在常规(非
ClearCase)文件系统上一样。Rose RealTime 指定构成模型的文件集,ClearCase 提供视图的配置规范确定的这些文件的版本。
有关结合使用 Rose RealTime 和 ClearCase 的详细信息,请参阅文档
Guide to Team Development, Rational Rose RealTime。
在使用 ClearCase 之前,您需要设置您的工作站和将使用 ClearCase 的所有工作站。
先决条件:设置 ClearCase
一般建议
如果您是 Microsoft Windows NT 用户,请不要通过 MVFS 安装点或“M: 驱动器”访问视图。请通过明确的驱动器安装(如 X:、Y: 或 Z:)使用视图。这改进了转入,并取消了对视图名称的依赖性。
UCM 集成
如果您在 UCM VOB 中工作,那么 UCM 集成使您能够从工具集中将活动指定到修订版中。 另外,您可以从 Rose RealTime 同步、交付和启动 Project Explorer。
快照视图
通过使用 ClearCase,您可以从 Rose RealTime 中启动快照视图更新。快照视图包含源文件的目录树。
如果以下任何条件适用,您将需要使用快照视图:
-
您的计算机不支持动态视图。
-
您需要优化构建性能以获得本地构建速度。
-
当您从托管 VOB 的网络断开连接,或间歇连接到网络时,您需要在 ClearCase 控制下使用源文件。
-
您要从非 ClearCase 主机的计算机上访问视图。
-
您的项目不使用 ClearCase 构建审计和免除构建。
Rational ClearCase 工作站设置
必须设置将访问 VOB 或视图的所有工作站使用 ClearCase。对于 Windows NT/2000,这包括用于开发的所有工作站。对于 UNIX,这包括是视图服务器的所有机器。
另外,必须为 ClearCase 设置充当 Rose RealTime 所用的 ClearCase 视图的所有视图服务器。如果使用 ClearCase MultiSite,您将需要在复制包含 Rose 元素的 VOB
的所有站点上执行这个操作。通过在命令窗口中输入以下命令,您可以确定哪些机器是视图服务器:
cleartool lsview
每行输出的第二项都表示运行视图服务器的机器名称。例如,如果在 lsview 命令的输出中看到以下行:
myview mymachinevwsmyview.vws
则“mymachine”是存在 myview 的视图服务器的机器名称。
有关进一步的详细信息,请咨询 ClearCase 管理员或参阅 Guide to
Team Development, Rational Rose RealTime 中有关源控制工具的信息。
初始设置
如果您将操作已在 VOB 中的源控制下的模型,则以下步骤适用。有关其他信息,请参阅 Guide to Team Development, Rational Rose RealTime 中有关源控制管理的信息。
-
创建集成人员视图,以使配置规范显示如下:
element * CHECKEDOUT
element * /main/LATEST
-
创建项目标签以定义各种阵容。重要标签的示例如下:
-
TC_BASELINE_0 - 表示项目的初始状态
-
TC_BUILDFILES - 指示下一次自动构建中应该包含哪些元素版本
-
TC_LATEST_STABLE - 标识集成分支上最近的稳定阵容
-
创建初始阵容,并将该标签应用于 VOB。初始阵容的示例如下:
[x:dev]cleartool mklabel -recurse TC_BASELINE_0 dev
-
创建开发人员视图模板,以确保从公共基本用例派生所有配置规范。这提供了对模型的一致且受控的访问,并简化了阵容和私有分支的用法。
开发人员将执行两个主要功能;浏览和开发。每个功能都需要不同的配置规范。
有关模板规则的信息,请参阅 Guide to Team Development,
Rational Rose RealTime 中的初始设置信息。
工具步骤
要从 Rose RealTime 使用 ClearCase,请按照以下步骤操作:
-
控制适当的模型元素作为单元
-
创建本地工作空间
-
将模型保存到工作空间域中
-
配置工作空间源控制选项
-
将模型添加到源控制中
-
使缺省工作空间可用于所有项目成员
-
使用视图模板
-
ClearCase 实体
-
自动构建
-
开发人员进程
-
集成过程
确定项目和团队环境在当前开发阶段所需的详细程度。与项目的设计人员一起执行该操作。
您将需要建立本地工作空间域,以将模型保存到 ClearCase 中。每个在 VOB 中访问 Rose RealTime 文件的开发人员都应该使用他们自己的指定视图。
在将模型置于源控制下之前,必须将它保存到本地工作空间中。将模型保存到已与源控制存储库关联的目录中。
要启用源控制,请填入 Guide to Team Development, Rational Rose RealTime 的源控制基础中描述的正确设置。
要将所有适用的单元添加到源控制中,最简单方法是使用将所有变更提交到源控制工具。有关更多信息,请参阅 Guide to Team Development, Rational Rose RealTime
中的源控制管理信息。
工作空间(.rtwks)文件包含开发该项目的所有用户公共的信息。工作空间中的设置在初始设置后,很少会更改。项目的所有开发人员都应该使用该工作空间文件的相同副本。为此,您可能要将该文件置于源控制下,以便固定版本可用于所有项目用户。Rational
Rose RealTime 不为检入或检出该文件提供明确支持。
在源控制管理员将模型添加到源控制后,应该使用源控制工具手动添加该工作空间。然后,其他用户应该检索该工作空间,使之成为其本地工作空间的初始更新的一部分。这确保所有团队成员对该项目都使用相同的源控制设置。
视图模板用于确保开发人员使用公共基本用例作为其视图的配置规范,并使开发私有分支更方便。视图模板指定要操作的集成分支、列出可用于设置私有分支的已标注检查点,并包含一个可以用其他配置规范规则填充的配置规范模板。
有关更多信息,请参阅 Guide to Team Development,
Rational Rose RealTime 中的 Rational ClearCase 并行开发信息。
可以创建视图、视图模板和标签,以帮助实施 Rational ClearCase 功能。有关更多信息,请参阅 Guide to Team Development, Rational Rose RealTime 中的
ClearCase 并行开发信息。
为了能够选择构建所包含的文件版本,构建程序选择标注了构建标签 TC_BUILDFILES 的所有版本。这样就能根据需要灵活更改构建所包含的实际版本。例如,如果文件的最近版本包含不编译的代码,则可以标注先前版本。
构建中包含以下步骤:
-
标注构建文件。
-
执行构建。
-
当构建成功完成时:
-
-
创建新的阵容标签,并应用于构建文件版本。
-
将 TC_LATEST_STABLE 应用于构建文件版本。
-
为开发人员提供新的阵容。
每个开发活动由单个开发人员完成,并在特定于该活动的私有分支上执行。另外,每个开发人员都需要其自己的视图。该视图基于构建标签标识的集成分支上的分支点。
必须选择标识要执行的工作的唯一分支名称,如:
paulz_timing
该视图的配置规范规则设置为将分支文件从分支点自动检出到私有分支。并且,在开发活动期间创建的新元素将被立即分流到私有分支中。
由于其他开发人员看不到该分支,因此用户可以将递增变更检入到该分支中。当开发人员对其所作的变更感到满意,并准备就绪可以集成时,开发人员通知集成人员私人分支上的所有更改都已就绪,可以进行集成了。
在开发人员私有分支与对应于自动构建使用的版本的标签分离的基础上,每个开发人员都将能够以转入的派生对象的形式复用大多数构建结果。这大大减少了进行变更时每个开发人员所需的构建次数。
每个开发活动最终必须合并到集成分支中。ClearCase 有多个工具可用于执行这种合并。cleartool findmerge 命令可用于将所有变更从一个分支合并到另一个分支。从集成人员视图,可以使用以下命令语法:
cleartool findmerge dev -all -fversion .../paulz_timing/LATEST -merge
另外,Windows NT 用户可以使用 ClearCase Merge Manager 执行相同的合并。
这两个方法都可以合并目录版本,还可以使用 Rose RealTime Model Integrator 将变更合并到模型文件中。在执行了合并后,集成人员应该将模型装入 Rose
RealTime,并验证未发生合并错误。如果正确装入了模型,则应该使用工具 > 源控制 > 将所有变更提交到源控制菜单项来检入变更。
要集成一系列开发活动:
-
从集成人员视图装入模型。
-
如以上所详述的执行合并。
-
使用工具 > 源控制 > 同步整个模型。这将在合并中重新装入已更改的所有文件。
-
确保合并的差异有效。
-
使用工具 > 源控制 > 将所有变更提交到源控制,以接受变更并将它们检入源控制。
-
对需要集成的每个活动重复步骤 2 到 5。
|