我有一个 ClearCase 触发器,它在checkin
执行操作后运行脚本。
当用户签入新元素版本或将新元素添加到源代码管理时,它会起作用。
但是,当删除文件时,我不希望触发触发器(或者至少我不希望与其关联的脚本运行),但我知道它会因为删除元素后,文件夹不可避免地入住。
操作触发器是否可以以某种方式rmelem
抑制checkin
操作触发器?
你可以这样做:
rmelem
该触发器上设置一个标志(就像任何客户端都可以访问的某个地方写入的文件)checkin
,如果该文件存在,将删除它并且不执行触发器的其余部分。但我的观点是:据我所知,这些触发器是相互独立的,因此您需要提出一种外部协调机制,以便一个触发器影响另一个触发器。
您也可以使用环境变量(如果设置了某个 EV,则 postop trigger 取消设置它并且不执行自身),但我不确定您是否可以在不同触发器的不同执行中设置和持久化 EV。
我不确定是否必须为所有元素类型运行触发器。
您可以使用环境变量 CLEARCASE_ELTYPE 在脚本中区分元素是目录还是文件元素。也许这有帮助?
另一点是 env var PPID - 精美的手册说:您可以使用 CLEARCASE_PPID 环境变量来帮助同步多个触发 ...##