允许每个人锁定/解锁ClearCase分支

允许每个人锁定/解锁ClearCase分支,clearcase,Clearcase,在本文中,我总结了使用ClearCase的锁定/解锁机制来有效地与Git一起工作 不幸的是,我意识到只有分支所有者才能执行锁定/解锁操作 $ 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 cleart

在本文中,我总结了使用ClearCase的锁定/解锁机制来有效地与Git一起工作

不幸的是,我意识到只有分支所有者才能执行锁定/解锁操作

$ 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”),则阻止签出(使用设置)
  • 如果属性不存在,则允许签出继续
可以由与具有该属性的对象具有相同组成员的任何人执行,因此此模型的约束比使用
cleartool lock
的模型要少

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

要为分支设置属性,请执行以下操作:

cleartool mkattype -nc islocked  # Should be done once

cleartool mkattr islocked \"true\" brtype:branch_name

@coin否,您不需要对所有对象执行mkattr:仅对要锁定的对象执行mkattr:将cleartool锁替换为只对要锁定的文件执行mkattr的脚本。@coin Mastership权限与锁定无关,以及具有多站点多同步操作的所有内容。您也可以将解决方案应用于分支:您可以向分支添加属性。甚至对一个vob来说。@coin语法似乎有点错误:brtype应该在末尾,如:
cleartool mkattr abc\“bar\”brtype:solution abc
@coin太好了,一旦它起作用,请毫不犹豫地添加触发器。