将单独的Perforce分支迁移到单个Git存储库

时间:2015-03-19 15:40:05

标签: git perforce git-p4

我正在尝试将项目从Perforce迁移到Git。

我有一个不寻常的场景(至少我没有发现任何人要求任何远程类似的东西),Perforce项目在这样的情况下:

//depot/MAIN
----------------------------------------X--------------------
                                       / - OTHER merged
        -------------------------------
        //depot/OTHER

我正在尝试将MAIN迁移到Git。 MAIN在OTHER之前开始,并且仍然存在。通过执行Perforce“移动/重命名”操作,OTHER在某个时刻合并到MAIN中。

当我查看Perforce中最初来自OTHER的MAIN文件的历史记录时,我可以看到完整历史记录,包括移动前发生的更改。

但是当我将MAIN迁移到Git(使用git-p4 clone)时,来自OTHER的所有文件的历史记录在移动的文件时启动(在上面的X处)。

所以,显而易见的问题是:我如何将完整的历史记录迁移到Git,包括在OTHER中完成的修订?

2 个答案:

答案 0 :(得分:0)

如果没有更好的选择,可以选择一个选项:

将两者分别导出到git,然后使用reposurgeon将它们组合在一起 - 注意:我没有这样做,但是reposurgeon说它可以组合/移植回购。

答案 1 :(得分:0)

如果你使用Perforce Git Fusion,你可以创建一个映射'main'和'other'分支的repo。

当你克隆这个仓库时,它将包含两个分支,并且转换了其Perforce历史记录。

如果没有详细查看集成历史记录,我无法准确地告诉您它的外观。

有关Git Fusion的更多信息,包括如何创建回购,请参阅Git Fusion管理指南:

http://www.perforce.com/perforce/doc.current/manuals/git-fusion/

相关问题