我目前正在开发ClearCase,现在正在迁移到GIT。 但是我们需要这种迁移,所有工作都将在GIT中完成,数据将被同步支持ClearCase流。我们将在GIT和CC中使用相同的分支名称和流名称,因此编写脚本应该不是问题。这里的问题是,
有人可以建议哪个是同步CC和GIT的最佳模型
将CC中的所有Vobs作为GIT中的单个回购,并将CC中的主要流作为GIT中的各个分支。 - 单GIT仓库(VOBS)和许多分支(CC流)。 - 由于VOB被保存为具有多个分支的单个仓库,因此占用的空间更少。
将重要的CC分支作为独立的GIT存储库,每个存储库具有所有CC VOB。 - 许多CC分支的许多GIT仓库 - 这将占用大量空间,因为VOB将被复制。
您认为哪种方法可以与ClearCase保持同步
答案 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存储库同步。