我正在尝试将项目从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中完成的修订?
答案 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/