UCM:如何在任意增量基线上创建动态视图(基本clearcase)

时间:2014-06-07 17:19:17

标签: clearcase clearcase-ucm

目前我们使用ClearCase UCM ..我正在尝试评估在我们的项目中使用git的可能性。我决定使用集成流创建过去三年的大型回购。 pvob下面有12个vob。为了评估(创建最坏的情况),我将所有更改放入单个存储库。

我想创建一个基本的clearcase视图,然后针对 pvob 上的每个基线调整其规格。然后这将同步到git存储库。

简而言之:如何在给定pvob基线的情况下创建基本clearcase视图并不断更改其配置规范以匹配每个基线?

(学术笔记:我想要实现的目标......)

enter image description here

ClearCase UCM: Is it possible to have a temporary view on any given baseline?中讨论的方法在我的案例中是一种解决方法。我想我可以避免创建许多临时流的步骤 - 不确定如何!)

1 个答案:

答案 0 :(得分:2)

  

我将所有更改都放入单个存储库。

这不是git repo的正确粒度 完成了多个ClearCase到Git的迁移,正确的比例通常是一个UCM组件等于一个Git repo

  

如何根据pvob基线创建基本clearcase视图并不断更改其配置规范以匹配每个基线?

您不必创建基本的ClearCase视图 您可以创建Int流的子流,并管理您想要在那里看到的基线 (cleartool rebase -bas xxx@\YourPVob

然后,您可以将UCM视图用作该子流作为git导入的源。

如果这种方法不可行(正如我所解释的那样in my previous answer,因为例如所有基线都没有在同一父流中创建),那么你可以创建一个基础ClearCase查看并修改其配置规范,以便选择基线完整ID:

element * BaselineId1    
element * BaselineId2    
...

(这里的动态视图对于调整配置规范更有用 设置配置规范后,您可以使用相同的配置规范和相应的加载规则更新快照视图,以将其用作git导入的源。)

您需要确保这些基线是:

  • full baselines (您可以将增量提升为完整的一个)
  • 引用了他们的ID(不是他们的标题,这是他们的可见名称) 另见" Display Current Baseline with Cleartool":

    cleartool describe -l baseline:aBaseline@\aPVob
    cleartool descr -fmt "%[found_bls]CXp" stream:myStream@\myPVob
    

第二个命令将为您提供流中的所有基线 在这两种情况下,您都会看到基线ID以及它们的名称。


我在下面提到了ClearCase到Git的迁移方面:

一个好方法是使用:

git --git-dir=/path/to/git/repo/.git --work-tree=/path/to/ClearCase/view add .

这允许您将ClearCase视图视为您的git仓库的工作树(这是您导入的目的地)。

我通常不会尝试从所有流中导入所有基线,因为它过于复杂太快(为了使这些历史记录的顺序正确)。

我只是从主流中获取一些基线,导入它们并从那里开始(将ClearCase引用作为历史研究的只读存档源)。