【问题标题】:ClearCase apply preop checkin trigger script on each fileClearCase 在每个文件上应用 preop checkin 触发脚本
【发布时间】:2019-01-10 23:50:11
【问题描述】:

我确实有一个检查文件格式/样式的脚本。我们过去常常使用某种 night_script 每天晚上在所有元素上运行它。

现在我想将它添加到 checkin 命令的 preop 触发器中。要为每个文件执行此操作,需要一个开关。我怎么能这样做?

脚本如何运行的示例:

style_check -f file1 [file2 ... fileN]

我在搜索时发现了这个触发器创建命令,但我不知道如何自定义它:)

#execute a script on all text files after checkin:
ct mktrtype -element -all -preop checkin -eltype text_file -exec <path to script> PROCESS_CHECKIN

【问题讨论】:

    标签: triggers clearcase checkin


    【解决方案1】:

    有关 preop 触发器的示例,请参阅“Is it possible to lock the applying label option for a work_branch in ClearCase?”:

    ct mktrtype -element -all -preop mklabel -exec "/path/to/script"
    

    另请参阅cleartool mktrtype 的示例部分

    诀窍是使用所有 ClearCase 客户端工作站都可以访问的共享路径。

    检查“Trigger operations and trigger environment variables”以找到正确的变量以作为参数传递给您的脚本:在您的情况下,CLEARCASE_PN

    ct mktrtype -element -all -preop mklabel  -execwin "\\path\to\script \"%CLEARCASE_PN\"" and -execunix "/path/to/script $CLEARCASE_PN" 
    

    注意使用-execunix/-execwin 来引用每个操作系统的相同脚本(或不同脚本)。

    【讨论】:

    • execunix 和 execwin 子句的引用是错误的。它应该更像: -execwin "\\path\to\script \"%CLEARCASE_PN\"" 和 -execunix "/path/to/script $CLEARCASE_PN" 您可能还想在 Unix 端包含引号,尽管unix 人通常不会在文件名中添加空格。
    • @BrianCowan 谢谢。我已经相应地编辑了答案。
    猜你喜欢
    • 2012-04-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-30
    • 1970-01-01
    • 2013-02-20
    • 2018-02-09
    相关资源
    最近更新 更多