【发布时间】:2015-11-25 03:13:48
【问题描述】:
有人可以指出我只在 clearcase 的特定分支上锁定文件吗?请注意,我希望在其他团队正在处理的所有其他分支中修改相同的文件...
适当地锁定分支可能会有所帮助。但这听起来不是一个好主意。请分享您的想法。
【问题讨论】:
标签: clearcase clearcase-ucm cleartool clearcase-remote-client clearcase-automation
有人可以指出我只在 clearcase 的特定分支上锁定文件吗?请注意,我希望在其他团队正在处理的所有其他分支中修改相同的文件...
适当地锁定分支可能会有所帮助。但这听起来不是一个好主意。请分享您的想法。
【问题讨论】:
标签: clearcase clearcase-ucm cleartool clearcase-remote-client clearcase-automation
您可以锁定特定的分支实例。
cleartool lock co.exe@@/main/foo
锁定该分支实例并阻止任何人修改该分支,同时允许所有其他实例——例如 ci.exe@@/main/foo/2 被检出和使用。
根据您的视图设置,您可能必须使用 lsvtree 或 cleartool find 来查找所有分支实例。
【讨论】:
这不会是一个简单的clearool lock,因为它会锁定所有分支的元素。
cleartool checkout -reserved 是一种简单的方法,但这也会阻止检查其他分支。
这会让您使用 trigger environment variables CLEARCASE_BRTYPE 进行操作前结帐触发器:
cleartool mktrtype -c "Prevent checkout on a branch" -element -all -preop checkout -execwin "ccperl \\shared\path\to\triggers\lock_on_branch.bat" LOCK_ON_BRANCH
脚本将使用:
CLEARCASE_XPN
(所有操作;仅元素触发器)与
CLEARCASE_ID_STR相同,但前面带有CLEARCASE_PN和CLEARCASE_XN_SFX值,以形成操作中涉及的对象的完整VOB 扩展路径名。
CLEARCASE_BRTYPE
(可以被分支类型限制的所有操作)导致触发器触发的操作所涉及的分支类型。在重命名操作中,重命名的分支类型对象的旧名称。
【讨论】: