13

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

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

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

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

您认为哪一种是使其与 ClearCase 保持同步的最佳方式

4

3 回答 3

4

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

不是和是

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

没有和没有

重新阅读我关于Git 限制的答案,您不应该尝试将“所有内容”塞进 Git 存储库中。有关ClearCase 和 Git 之间的比较,
另请参阅“每个开发人员应该知道的基本 clearcase 概念是什么? ”。

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

如果您使用的是 UCM,我建议每个 UCM 组件一个 Git 存储库。

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


注意:我在“如何将 git 连接到 ClearCase? ”中提到了一个更简单的解决方案,但它不会在 Git 存储库中导入所有历史记录。

于 2010-03-19T15:57:40.877 回答
4

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

于 2010-03-19T21:14:14.307 回答
1

关于分支和存储库,我会使用一个 vob == 一个 git repo 规则,因为 git repo 确实是供单个项目使用的,就像 vobs 一样。

至于分支,跨 vobs/repos 的分支名称应该匹配。查看 git 中的子模块,看看是否可以在您的情况下使用它。

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

于 2010-03-19T12:51:01.437 回答