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 - 将两个文件合并为一个具有统一历史记录的文件
在linux下,如何在clearcase里给一个文件打上标签?