目前我们使用ClearCase UCM ..我正在尝试评估在我们的项目中使用git的可能性。我决定使用集成流创建过去三年的大型回购。 pvob下面有12个vob。为了评估(创建最坏的情况),我将所有更改放入单个存储库。
我想创建一个基本的clearcase视图,然后针对 pvob 上的每个基线调整其规格。然后这将同步到git存储库。
简而言之:如何在给定pvob基线的情况下创建基本clearcase视图并不断更改其配置规范以匹配每个基线?
(学术笔记:我想要实现的目标......)
(ClearCase UCM: Is it possible to have a temporary view on any given baseline?中讨论的方法在我的案例中是一种解决方法。我想我可以避免创建许多临时流的步骤 - 不确定如何!)
答案 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导入的源。)
您需要确保这些基线是:
引用了他们的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引用作为历史研究的只读存档源)。