【问题标题】:UCM: How to create dynamic view (base clearcase) on arbitrary incremental baselineUCM:如何在任意增量基线上创建动态视图(基本 clearcase)
【发布时间】:2014-06-07 17:19:16
【问题描述】:

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

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

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

(学术笔记:我正在努力实现的目标的图片..)

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

【问题讨论】:

    标签: clearcase clearcase-ucm


    【解决方案1】:

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

    这不是 git repo 的正确粒度。
    在完成多次 ClearCase 到 Git 的迁移后,正确的规模通常是一个 UCM 组件等于一个 Git 存储库

    如何在给定 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 存储库(这是您的导入目标)的工作树。

    我通常不会尝试从 all 流中导入 all 基线,因为它太复杂太快了(为了让这些历史的顺序正确)。

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

    【讨论】:

    • 好的。我会试试的。我想我需要为每个基线创建一个流。再次阅读后(从您的答案中),很明显一个子流和许多变基都可以。出于学术兴趣,是否有可能让基本清晰的视图工作?
    • 如何将 pvob 上的基线映射到 vobs 的基线 ID?
    • @Jayan 我已经编辑了答案以解决您关于基线的问题。我在那次编辑中提到了我的旧答案stackoverflow.com/a/9696988/6309,这对于正确理解基线非常重要。
    • 哇。我没有找到任何其他答案中提到的技巧。 :) 这将删除 rsync 步骤:)。感谢您回答这个问题。我不确定如何编辑问题/标题以匹配您的答案!
    • @Jayan 标题没问题,因为您仍然需要配置基本 ClearCase 视图以适应任何 UCM 基线。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-03-30
    • 1970-01-01
    • 1970-01-01
    • 2014-12-18
    • 1970-01-01
    • 2011-01-24
    • 2013-10-17
    相关资源
    最近更新 更多