ClearCase 在每个文件上应用 preop checkin 触发脚本

Posted

技术标签:

【中文标题】ClearCase 在每个文件上应用 preop checkin 触发脚本【英文标题】:ClearCase apply preop checkin trigger script on each file 【发布时间】: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

【问题讨论】:

【参考方案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 谢谢。我已经相应地编辑了答案。

以上是关于ClearCase 在每个文件上应用 preop checkin 触发脚本的主要内容,如果未能解决你的问题,请参考以下文章

Clearcase - 将两个文件合并为一个具有统一历史记录的文件

Eclipse Clearcase 插件:使文件可写时出错

在linux下,如何在clearcase里给一个文件打上标签?

您将如何将 ClearCase 集成到我们的 Android 应用程序开发中? [关闭]

我可以从ClearCase迁移到Serena VM吗?

IgH设置EtherCAT数据流程