允许所有人 lock/unlock 一个 ClearCase 分支

Allow everyone to lock/unlock a ClearCase branch

在这个 中,我决定使用 ClearCase 的 lock/unlock 机制来有效地与 Git 一起工作。

不幸的是,我意识到只有分支机构所有者才能执行 lock/unlock 操作

$ ct lock brtype:main-br-foo
cleartool: Error: No permission to perform operation "lock".
cleartool: Error: Must be one of: object owner, VOB owner, member of ClearCase group
cleartool: Error: Unable to lock branch type "main-br-foo".

是否有任何解决方案允许 VOB 的任何成员执行 lock/unlock?

另一种方法是在结帐操作中使用预操作触发器,这将:

  • 如果在文件上设置了属性(名为 'lock')(使用 cleartool mkattr as in this question 设置),则阻止检出
  • 如果该属性不存在,允许继续结帐。

Removing an attribute 可以由与具有该属性的对象具有相同组成员的任何人完成,因此该模型比使用 cleartool lock.

的模型受到的限制更少

您可以在签入时使用 post-op 触发器完成它,如果在元素上找到属性 'lock',它将自动删除。

要为分支设置属性:

cleartool mkattype -nc islocked  # Should be done once

cleartool mkattr islocked \"true\" brtype:branch_name