【问题标题】:Clearcase trigger on checkin and mkelem签入和 mkelem 上的 Clearcase 触发器
【发布时间】:2017-08-13 12:07:33
【问题描述】:

在我们的 VOB 中,我们有一个 ClearCase 触发器,它不允许在没有 cmets 的情况下进行 checkinmkelem 操作,但 checkout cmets 是可选的。我们的 SCM 人员可以接受没有 checkout cmets,但希望强制执行 checkin cmets。

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

是否可以实现一个触发器来检查mkelem 是否以-ci 启动?这将更加同质化,并且将满足只有 checkin cmets 是强制性的政策。

【问题讨论】:

    标签: clearcase


    【解决方案1】:

    查看cleartool mktrtype的“触发环境变量”部分,应该可以查询到EV(环境变量)CLEARCASE_COMMENT的值。

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

    但是对于mkelem,没有明确的-ci指示符,只是它会触发签入。
    因此,依靠您现有的术前签入可能更容易:如果mkelem 不使用-ci,则缺少注释无关紧要。而且它使用-ci,缺少评论会被pre-op checkin trigger捕获。

    【讨论】:

    • 负责的 SCM 并不确定它是否应该像这样工作(即,如果来自 mkelemcheckin 应该注册为普通的 checkin)。如果不是这样,我也会觉得很傻,因为触发事件而不是命令本身更有意义。这在文档中并不是很清楚(至少在我看一眼时不是这样)。感谢您的意见!
    【解决方案2】:

    从 mkelem 签入看起来与普通签入完全一样,这有时很烦人。

    除非您从“cleartool”命令行执行 mkelem -ci,在这种情况下,CLEARCASE_CMDLINE 将设置为“mkelem ...”,mkelem 操作将触发签入触发器,其方式与“正常”签到会。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-01-30
      • 1970-01-01
      • 2012-04-13
      • 2013-05-14
      • 1970-01-01
      • 1970-01-01
      • 2016-12-24
      • 1970-01-01
      相关资源
      最近更新 更多