在使用一个视图进行 rebase 或任何流配置更改后的 clearcase UCM 中,另一个视图需要在视图属性窗口中启用“setcs -stream(CLI)”或“与流同步(GUI)”按钮。如何通过命令行识别我的视图与流不同步?识别我的视图不同步的命令是什么?
2 回答
谢谢VonC。
以下方法失败(有时流配置规范和查看配置规范不按顺序排列)。cleartool catcs 将返回一些我们无法与基础基线进行比较的 uuid。我通过将cleartool dump -l <streamname>
输出与cleartool catcs
输出进行比较来实现这一点。
找到了另一种方法。
ucmutil 命令ucmutil lspvar -pvar SUM_CSPEC_ID <streamname>
将返回流的 config_spec_id 可以与cleartool catcs | grep -i identity
输出进行比较。config_spec_id 在视图配置规范中被提及为身份 UCM.Stream oid:uuid@vobuuid:uuid config_spec_id在第二行。
通常,cleartool ls
不同步视图内的输出返回反映了不同步状态。
如本技术说明中所述,您还可以尝试使用 cleartool 结帐。
如果它返回此错误消息:
cleartool: Error: Checkout is currently disabled for element "element_name".
Its config spec rule information is currently unavailable
due to either an aborted update or an update in progress.
...这意味着视图不同步。
在某些情况下,不要忘记首先执行以下操作:
cleartool chstream -generate yourStream@\pvob
如果组件从不可写切换到可写,这很有用。
但是,如果只是基础基线发生了变化,那就cleartool setcs -stream
足够了。
如果我的所有组件在该流和视图中都是只读的(我只在其中构建)。在那种情况下,如何检查我的视图是否不同步?
一种方法是获得:
流的所有基础基线(with
fmt_ccase
)cd /path/to/my/view myStream = $(cleartool lsstream -cview) myFoundationBaselines = $(cleartool descr -fmt "%[found_bls]CXp" $myStream)
将这些基线与视图的基线进行比较
(grep 在配置规范中的上一步中找到的每个基线)cd /path/to/your/view cleartool catcs
简而言之,没有直接的原生方式:您需要编写脚本。
您将通过在 catcs for 中 grepping 来查看视图当前使用的基线的名称-mkbranch
。
这些是您需要与基础基线进行比较的基线。