(基础)ClearCase 锁定主分支以进行签入

(Base) ClearCase lock main branch for checkins

我想锁定组件的 main 分支,以便其他人无法签入任何破坏现有功能或 API 兼容性的更改。我已经为组件中的所有文件执行了 cleartool lock <element>@@/main,但这也阻止了检出操作。

我认为仍然允许在分支机构中签出,但我在一个采用非常原始的 SCM 实践的环境中工作,其中存在对分支机构的不自然恐惧。是否可以只锁定分支以进行签入并仍然允许签出?

我唯一能想到的就是设置一个 ClearCase 触发器。还有更好的选择吗?

discussed in this thread一样,锁定文件夹和元素并不理想。

为了在不必为每个客户端部署策略的情况下强制执行策略,设置触发器仍然是最佳选择。

该帖子建议(用于结账,但同样的想法也适用于签入)

place a trigger on the directory to stop the checkout.
By default when you place an "element" trigger on a directory it is applied to it's current elements and future directory elements via its attachment list and inheritance list.

cleartool mktrtype  -ele -preop checkout -exec /path/to/script NO_CHECKOUT
cleartool mktrigger NO_CHECKOUT  /path/to/dir_name

在您的情况下,/path/to/script(所有客户端都应可访问的路径)需要检查当前分支是否为 /main(使用 trigger environment variables,如 CLEARCASE_BRTYPE).