如何创建ClearCase预操作触发器禁止非指定用户向特定流交付内容
ClearCase 交付拦截触发器配置解答
opkind 参数取值说明
pre-op 阶段拦截交付操作,opkind 参数需要填写 deliver_start。deliver 对应的是交付操作执行完成后的 post-op 触发点,只有配置为 deliver_start 才能在用户发起交付请求、实际变更未写入版本库前触发拦截逻辑。
特定流的识别方案
无需额外编写 Perl 脚本匹配流名称,直接通过触发器的 restriction-list 即可实现指定流的绑定,配置更简单且性能更稳定。
只有当你需要实现复杂匹配逻辑(比如正则匹配某一类命名规则的流、结合流自定义属性做判断)时,才需要编写 Perl 脚本在触发逻辑中做二次校验。
最简配置示例
你可以直接参考以下 mktrigger 命令调整参数:
cleartool mktrigger -type ucm -preop deliver_start \ -nusers 授权用户1,授权用户2,管理员账号 \ -restriction "stream:目标流名称@你的PVOB标识" \ -exec '/usr/atria/bin/perl -e "print \"你无权限向该流发起交付操作\"; exit 1"' \ block_specified_stream_deliver
上述配置会直接拦截所有不在 nusers 清单内的用户向指定流发起的交付请求,无需额外维护独立的触发脚本。
内容的提问来源于stack exchange,提问作者Bob
相关产品推荐
相关产品推荐

