ClearCase 连接器 通过运行 cleartool 命令来执行操作。就像任何 cleartool 操作一样,在此过程中,还要运行已就绪的操作前触发器。如果未符合该触发器的成功条件,那么同步将由于触发器失败而失败。由于同步进程并非以交互方式运行,因此,提示输入内容的操作前触发器可能会引起问题。
ClearCase 连接器 对它发出的 cleartool 命令的输出进行后处理,因此,触发器的额外输出可能会导致同步失败。不写 stdout 和 stderr 的操作后触发器不会引起问题;而执行此写操作的操作后触发器可能会引起问题,这取决于该命令以及输出性质。
ClearCase 同步器 不在视图上下文中运行,因此必须在不期望视图上下文的情况下编写/重新编写触发器。
可以与同步操作进行交互的 Rational ClearCase 触发器应该使用同步期间设置的环境变量 CONNECTOR_SYNCH 或 ATRIA_WEB_GUI。您应该通过检查其中一个变量尝试对触发器中的所有用户交互进行保护。如果未设置这两个变量,那么不应尝试与用户进行交互,而应该使用自动计算的最佳值。如果无法自动计算值,那么脚本肯定会失败。同步操作将环境变量 ATRIA_WEB_GUI 设置为值 1,这将禁用 clearprompt。
ClearCase 同步器包含一个环境变量,此变量使您能够在 ClearCase 触发器中使用工作项信息。在每次同步期间,环境变量 CCASE_JAZZ_WORK_ITEMS 都将包含正在与 Rational ClearCase 进行同步的变更的相关联 Jazz 工作项列表。Rational ClearCase 用户可以在执行 ClearCase 操作的触发器中使用此变量。例如,触发器可以将工作项列表添加到 Rational ClearCase 中的检入注释,触发器也可以对同步期间创建的新 ClearCase 版本创建要包含工作项信息的属性。