BuildForge 能够与 Rational ClearCase 协作以进行源代码管理。
本主题描述与 Rational ClearCase 集成的其他设置需求,并概述了所提供样本适配器模板的特征。
ClearCase 适配器模板样本提供了几种方法来分析对基线的变更。通常,变更分析用于避免构建:如果基线组件尚未更改,那么不会重新构建
ClearCase 适配器的其他设置需求
请参阅适配器需求以了解一般需求。除了实现适配器的一般需求外,还要执行以下操作:
- 在可与 ClearCase 服务器连接的主机上安装 Build Forge 代理程序。
- 在代理程序主机上安装 ClearCase 完整客户机。
- 设置代理程序的环境以便能够通过 ClearCase 客户机来运行命令。
- 确定如何实施以及如何、何时启动所需的 ClearCase 视图。提供的模板假定使用动态视图,并包括在运行 cleartool 命令时启动该视图。在代理程序主机上安装 ClearCase 完整客户机。

ClearCase 视图
ClearCase 将视图用作您访问数据的方式。可以使用两种类型的视图:
- 动态视图:动态视图允许您查看指定的 VOB 中最新版本的元素,而无需将它们复制到本地系统中。它们必须启动。指定要在视图中安装的 VOB。
- 快照视图:快照视图是存储库的副本。您可以指定要使用的对象的版本。必须手动更新快照视图,才能获取已检入的最新项。
- 动态视图
- 动态视图显示每当在您选择查看的视图上下文中更改任何内容时,不断更新的工作空间。仅将您检出的元素复制到您的工作空间,并且必须将它们检入以供其他用户使用。使用动态视图时,需要使用三种规范来访问您所需的数据:
- 视图:定义要显示的版本的列表(通过配置规范)。必须使用命令来启动该视图。它在您的本地磁盘上表示为内容的根目录。也称为视图根。常用的目录如下所示:
- Windows:驱动器 M:(共享驱动器)
- UNIX 或 Linux:/view(安装的文件系统)
- 视图上下文:定义要通过视图标记使用的内容的目录。视图标记在 ClearCase 中定义。启动视图后,目录将可供您使用。
- VOB(版本化对象库):定义视图上下文的子目录。VOB 在 ClearCase 中定义。需要在视图上下文中显式安装 VOB。该子目录包含版本化工件(源文件和其他工件)。
本地机器上 VOB 的路径是从以下三项构建的:
- Windows 系统的示例路径,使用缺省值:M:\view_tag\vob_name
- UNIX 和 Linux 系统的示例路径,使用缺省值:/view/view_tag/vob_name
- 快照视图
- 使用快照视图时,需要指定视图上下文,并且还必须装入数据。这样您就拥有指定的所有数据的本地副本。必须重新装入快照视图,才能获取自上次装入数据以来检入的更改。
支持动态视图的 Rational Build Forge 功能部件
您可以使用特殊环境变量来定义和启动 Build Forge 作业的动态视图。
- CLEARCASE_VIEW
- 启动指定的 ClearCase 视图。此变量中指定的视图必须存在,而且必须将使用此变量的步骤设置为“absolute”。在运行 Microsoft Windows 的系统上,该变量必须与 bfagent.conf 中代理程序的 cc_suppress_server_root 参数一起使用。
- _CLEARCASE_VIEWS
- 指定要在命令执行之前启动的 ClearCase 视图的列表。请将其值设置为视图的逗号分隔列表;例如,“View1,View2,View3”。
- _CLEARCASE_VOBS
- 指定要在命令执行之前挂装的 ClearCase VOB 的列表。请将其值设置为 VOB 的逗号分隔列表;例如,“\Vob1,\Vob2,\Vob3”。
您还需要使用代理程序参数来管理代理程序主机上的视图。如果您要与 ClearCase 一起使用的代理程序运行的是 Windows 系统,那么必须设置代理程序参数。如果您要通过该代理程序使用的视图根不同于作业设置的视图根,那么这也非常有用。如果将作业用于多个代理程序并且需要在每个代理程序主机系统上使用不同的规范时,就会出现这种情况。
- ccviewroot root-path
- 指定该主机的缺省视图根。请参阅关于 init 的
ClearCase 文档以了解更多信息。内部缺省值如下所示:
- Windows 系统:ccviewroot M:
- UNIX 或 Linux 系统:ccviewroot /view
- cc_suppress_server_root
- 如果设置,那么查看路径为 ccviewroot 设置的路径。如果不设置,那么服务器定义中设置的路径将附加到 ccviewroot 设置的路径。此设置不需要值。如果 bfagent.conf 中存在此设置,将设置该值。
ClearCase 适配器模板样本
提供了以下适配器模板样本。
- ClearCaseBaseline
- 扫描 ClearCase 视图中的目录。
- 将 ClearCase 报告的分支和版本信息写入 BOM 报告。
所用的变量:
- INT_STREAM
- VIEW
- PROJECT_VOB
- CCSERVER
- UNIXCLIENT
- ClearCaseByBaselineActivities
- 从 ClearCase 视图的内容创建新的基线。
- 将新基线与来自上次执行适配器的基线进行比较以识别更改活动。
- 为每个更改活动将以下信息写入 BOM 报告:活动、已更改文件、用户、日期、注释和版本。
- 为每个已更改文件将更改详细信息(来自 diff 命令输出)写入 BOM 报告。
所用的变量:
- CurDate
- LAST_RUN
- BASELINE
- VIEW
- VOB_PATH
- PROJECT_VOB
- CCSERVER
- UNIXCLIENT
- ClearCaseByBaselineVersions
- 从 ClearCase 视图的内容创建新的基线。
- 将新基线与来自上次执行适配器的基线进行比较以识别已更改文件。
- 为每个已更改文件将以下信息写入 BOM 报告:文件名、版本、日期、用户和注释。
- 为每个已更改文件将更改详细信息(来自 diff 命令输出)写入 BOM 报告。
所用的变量:
- CurDate
- LAST_RUN
- LABEL
- BASELINE
- VIEW
- VOB_PATH
- PROJECT_VOB
- CCSERVER
- UNIXCLIENT
- _CHAR_NATIVE
- ClearCaseByDate
- 查询 ClearCase 视图以查找两个日期之间的更改。缺省日期是当前时间戳记和上次执行适配器的时间戳记。
- 为每个已更改文件将以下信息写入 BOM 报告:文件名、版本、日期、用户和注释。
- 为每个已更改文件将更改详细信息(来自 diff 命令输出)写入 BOM 报告。
所用的变量:
- CurDate
- LAST_RUN
- LABEL
- BASELINE
- VIEW
- VOB_PATH
- PROJECT_VOB
- CCSERVER
- UNIXCLIENT
- _CHAR_NATIVE
- ClearCaseByLabel
- 新建标签并将其应用于 ClearCase 视图的内容。
- 将新标签与来自上次执行适配器的标签进行比较以识别已更改文件。
- 为每个已更改文件将以下信息写入 BOM 报告:文件名、版本、日期、用户和注释。
- 为每个已更改文件将更改详细信息(来自 diff 命令输出)写入 BOM 报告。
所用的变量:
- CurDate
- LAST_RUN
- LABEL
- BASELINE
- VIEW
- VOB_PATH
- PROJECT_VOB
- CCSERVER
- UNIXCLIENT
- _CHAR_NATIVE
ClearCase 适配器变量
此表引用了适配器模板的变量列表。
环境变量名 |
描述 |
BASELINE |
对于 ByBaseline 适配器,当您使用您的适配器来按基线生成差异时,系统将使用此值作为基线。 |
CCSERVER |
将此变量设置为安装了 ClearCase 客户机和 Build Forge 代理程序的主机的名称。 |
CurDate |
向适配器提供当前日期,使用 .date 命令以 ClearCase 期望的格式生成该日期。请不要更改此值。 |
LABEL |
对于 ByLabel 适配器,当您使用您的适配器来按标签生成差异(通过 ByLabel 适配器)时,系统将使用此值作为标签。 |
LAST_RUN |
对于 ByDate 适配器,系统使用该值来确定是否发生了任何更改;该值是上一次成功运行的日期。可在测试适配器时操作此值,通过选择在某些更改之前的某个已知日期可强制适配器运行。如果适配器允许运行继续,它将自动把此值更新为当前日期。缺省值为 1-Jan-05.00:00:00。 |
PROJECT_VOB |
使用 ByBaseline 适配器时,将此变量设置为项目 VOB 的名称(仅用于 UCM ClearCase)。示例:\ProjectVob |
UNIXCLIENT |
用于设置特定于平台的信息。如果客户机运行在 Windows 平台上,请设置为 0。如果客户机运行在 UNIX 或 Linux 平台上,请设置为 1。 |
VIEW |
将此变量设置为要用于适配器的 ClearCase 视图的名称。 |
VOB_PATH |
将此值设置为组件 VOB 的名称及其子目录(子目录可选)。对于多个名称,请使用以逗号分隔的列表。 |
_CHAR_NATIVE |
内部使用并且始终设置为 1。 |
以下触发器变量还可用于启动视图和安装 VOB。但是,它们独立于在适配器变量中设置的视图和 VOB。
- CLEARCASE_VIEW
- _CLEARCASE_VIEWS
- _CLEARCASE_VOBS
请参阅触发器变量引用。