【发布时间】:2014-06-03 22:31:10
【问题描述】:
我正在将 clearcase 与内部项目管理工具集成。在所有符合特定评论模式的签入后,我想调用一个 REST URL。
我实现了在签入过程后在触发器中使用 CURL 并且没关系。
我的问题是如何确定资源是否在我的触发脚本中被修改?如果用户签入未修改的文件,我需要阻止调用集成。
有谁知道 clearcase 是否在某个变量中为我提供了该状态,或者我有什么方法可以检测到它?
谢谢你,英语很抱歉
【问题讨论】:
我正在将 clearcase 与内部项目管理工具集成。在所有符合特定评论模式的签入后,我想调用一个 REST URL。
我实现了在签入过程后在触发器中使用 CURL 并且没关系。
我的问题是如何确定资源是否在我的触发脚本中被修改?如果用户签入未修改的文件,我需要阻止调用集成。
有谁知道 clearcase 是否在某个变量中为我提供了该状态,或者我有什么方法可以检测到它?
谢谢你,英语很抱歉
【问题讨论】:
如果您的触发器可以访问已签入的内容(通常应设置变量$CLEARCASE_XPN),您可以执行以下操作:
cleartool diff -pred "$CLEARCASE_XPN"
如果 diff 为空,则表示存在 cleartool checkin -identical(这是创建与元素先前版本相同的版本的一种方法)
【讨论】:
嗯,diff 只适用于“diff-able”元素类型(ASCII、XML、..)。
如果您还必须对其他元素类型(二进制)执行此操作,我有一个建议: - 使用附加在每个版本上的属性“校验和” - 在预签入时(在签入后的情况下),您计算新版本内容的新校验和 - 您更新新版本的属性并将校验和与前任属性的值进行比较 - 如果值不同,则确实发生了变化
希望对您有所帮助..
【讨论】: