签入和 mkelem 时的 Clearcase 触发器

Clearcase trigger on checkin and mkelem

在我们的 VOB 中,我们有一个 ClearCase 触发器,它不允许 checkinmkelem 操作没有注释,但是 checkout 注释是可选的。我们的 SCM 人员可以接受没有签出评论,但希望强制执行签入评论。

问题是 mkelem 通常不签入,所以我希望允许 ct mkelem foo,因为这只会创建版本 /main/0 并检查它出去。只有在执行 ct mkeleme -c "some_comment" -ci foo 时才会发生签入,并且注释将用于新创建的版本 /main/1.

是否可以实现触发器以检查 mkelem 是否以 -ci 启动?这将更加同质化,并满足只有签入评论是强制性的政策。

查看 cleartool mktrtype 的 "Trigger Environment Variables" 部分,您应该可以查询 EV(环境变量)的值 CLEARCASE_COMMENT

这样,您就知道您的命令是否使用 -c 启动,并且可能用于您当前的操作前检查触发器。

但对于 mkelem,没有明确的指示 -ci,只是它会触发签入。
因此,依赖您现有的操作前检查可能更容易:如果 mkelem 不使用 -ci,缺少注释并不重要。它使用-ci,缺少注释将被预操作检查触发器捕获。

从 mkelem 签到看起来和普通签到一模一样,这有时很烦人。

除非您从 "cleartool" 命令行执行 mkelem -ci,在这种情况下 CLEARCASE_CMDLINE 将被设置为 "mkelem ...",mkelem 操作将会触发签入的触发方式与 "normal" 签入的触发方式完全相同。

您可能希望将“-preop checkin”触发器更改为“-preop checkin,mkelem”,因为 mkelem 注释是 mkelem 末尾的签入注释 -ci。