【问题标题】:Migrating from clearcase to mercurial从 clearcase 迁移到 mercurial
【发布时间】:2010-10-26 00:31:20
【问题描述】:

有哪些工具可用于从 clearcase 迁移到 mercurial?历史可以移动吗?有哪些限制?

【问题讨论】:

    标签: version-control mercurial clearcase


    【解决方案1】:

    不要忘记 ClearCase(Central VCS)和 Mercurial(Distributed VCS)是非常不同的。
    有关完整列表,请参阅 Core ClearCase concepts

    在迁移的情况下,这意味着您正在处理一个以存储库为中心的 VCS(Mercurial),这意味着“使用时间线”(时间线是提交,构建新的变更集)
    但是在 ClearCase 中,没有全局时间线,因为每个 文件 都是单独提交的(以文件为中心的 VCS)。

    因此,对于迁移,您需要使用配置规范设置 ClearCase 动态视图,您将更改以列出所有相关的“ClearCase 时间线”(非 UCM 视图的标签甚至更好:UCM 视图的基线)并导入将状态固定为 Mercurial。
    并重复该过程,直到最近的标签/基线。

    这个想法是:当从 ClearCase 迁移到另一个 (D)VCS 时,通常不需要导入 all 文件的 all 历史记录。只需要记录“重大”变化。
    我不会推荐“Conversion of ClearCase repo to Mercurial”文章,尤其是对于大型和旧的 ClearCase 存储库。

    另见SVN migration for other considerations

    【讨论】:

    • 为什么不推荐“将 ClearCase 回购转换为 Mercurial”?因为制作会占用太多的空间和时间?我有点需要完全导入。至少要在像 git 这样的免费存储库系统下拥有它。然后,当存档时,也许我们可以从一个新的 git repo 开始,它的完整历史记录不可用,仅供参考?
    • @Dolanor ClearCase 无法很好地导出到基于修订的系统,因为它是以文件为中心的:这意味着每个版本都是为每个文件独立创建的(与 full 提交时的单个修订相反 回购)。因此,很难提取 ClearCase 存储库的连续状态以导出到基于修订的 VCS(SVN、Hg、Git...)。我通常将 ClearCase 存储库保持在只读模式以进行存档,并且只导入最后几个标签或基线。这样快得多。
    • 没错,但是如果您想查看 clearcase 的存档,则需要 ClearCase 许可证。将其置于免费源代码控制下意味着免费存档。但是要做更多的工作。我已经尝试过git-cc tools,但遇到了问题。我会尝试修复它或为我的需要创建另一个工具
    • @Dolanor 好点。我期待在 GitHub 上看到你的工具 ;)
    • 别担心我会的,或者修补 git-cc。只需要了解 clearcase 的疯狂功能即可。 git-cc 做了一个 lshistory,它根据我的 configspec 做了一个向后的历史列表。因此,应该在主分支上的东西从第一天开始就显示在 /JUNK_TO_DELETE/ 上。我想每次检查历史记录时都需要更新我的配置规范。我猜这将是漫长而痛苦的^^'
    【解决方案2】:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-11-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-14
      • 1970-01-01
      • 2010-11-01
      相关资源
      最近更新 更多