同步GIT和ClearCase

时间:2010-03-19 12:45:44

标签: git clearcase git-branch

我目前正在开发ClearCase,现在正在迁移到GIT。 但是我们需要这种迁移,所有工作都将在GIT中完成,数据将被同步支持ClearCase流。我们将在GIT和CC中使用相同的分支名称和流名称,因此编写脚本应该不是问题。这里的问题是,

有人可以建议哪个是同步CC和GIT的最佳模型

  1. 将CC中的所有Vobs作为GIT中的单个回购,并将CC中的主要流作为GIT中的各个分支。 - 单GIT仓库(VOBS)和许多分支(CC流)。 - 由于VOB被保存为具有多个分支的单个仓库,因此占用的空间更少。

  2. 将重要的CC分支作为独立的GIT存储库,每个存储库具有所有CC VOB。 - 许多CC分支的许多GIT仓库 - 这将占用大量空间,因为VOB将被复制。

  3. 您认为哪种方法可以与ClearCase保持同步

3 个答案:

答案 0 :(得分:4)

  

将CC中的所有Vobs作为GIT中的单个回购,并将CC中的主要流作为GIT中的各个分支

不,是的

  

将重要的CC分支作为独立的GIT存储库,每个存储库具有所有CC VOB

否和否

重新阅读my answer about Git limits,您不应该尝试在Git仓库中填写“所有内容”。
有关ClearCase和Git之间的比较,另请参阅“What are the basic clearcase concepts every developer should know?”。

Stream可以安全地导入为分支 但VOB不一定是Git Repo。

如果你正在使用UCM,我建议每个UCM组件使用一个Git repo。

无论如何,您需要在Git Repo中记录一种方式,以了解ClearCase视图用于同步(通过simple clearfsimport)数据的内容。
用于ClearCase数据重新导入的视图将是一个自动关联到正确的VOB的UCM视图。


注意:我在“How to bridge git to ClearCase?”中提到了一个更简单的解决方案,但没有在Git仓库中导入所有历史记录。

答案 1 :(得分:4)

虽然我不一定会建议将它作为同步这两者的“最佳”方式,但您可以通过我的git-cc工具导入历史记录并将更改推送回Clearcase,如上所述here

答案 2 :(得分:1)

关于分支和回购,我会选择一个vob ==一个git repo规则,因为git repo真的意味着单个项目使用,就像对于vobs一样。

对于分支机构,跨越vobs / repos的分支名称应匹配。看看git中的子模块,看看是否可以在你的情况下使用它。

我个人希望看到的是一个成熟的git-cc后端,它允许我在我的开发盒上使用git,同时能够与我被迫使用的公司CC存储库同步。