1

在使用一个视图进行 rebase 或任何流配置更改后的 clearcase UCM 中,另一个视图需要在视图属性窗口中启用“setcs -stream(CLI)”或“与流同步(GUI)”按钮。如何通过命令行识别我的视图与流不同步?识别我的视图不同步的命令是什么?

4

2 回答 2

1

谢谢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在第二行。

于 2013-10-24T09:43:51.860 回答
0

通常,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足够了。

如果我的所有组件在该流和视图中都是只读的(我只在其中构建)。在那种情况下,如何检查我的视图是否不同步?

一种方法是获得:

  • 流的所有基础基线(withfmt_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
这些是您需要与基础基线进行比较的基线。

于 2013-10-23T12:10:33.463 回答