(基础)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
).
我想锁定组件的 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
).