p4和git之间是否存在双向桥接?

9
有没有一种可靠且自动化的方法,可以在多个用户之间移动git更改以实现p4和git之间的互通? git-p4似乎很好地处理了单用户情况,但我正在寻找多用户选项。
我们目前正在从多个不同的源代码控制系统迁移到一个git。 无论是从git到p4,还是提供展示git给p4的良好方式,都可能需要移动。 对于任何一种情况,两者之间的双向桥梁都是必不可少的。
是否有一些工具可以为多个用户提供git和p4之间的双向交通?
3个回答

5
坦白地说,你最好直接迁移到Git,如果你由于某种原因需要使用perforce,可以将git存储库本身检入到perforce中。git <-> perforce桥接存在问题,特别是在分布式环境中。要么让一个人充当门卫,要么让每个人单独与perforce同步而不是相互之间同步。
--------- 更新 ---------------
看起来Perforce提供了“Perforce Fusion” - 请参见http://www.perforce.com/product/components/git-fusion。这可能是一个可行的解决方案,他们有一个免费试用版。

谢谢。如果有必要,听起来我会扮演守门员或我们将进行加速切换。 - Petra Kahn

1

我没有听说过一个解决方案。当面对这样的情况时,我通常会采用脚本解决方案,并尽量避免带入确切的历史记录。通常,任何标记为过去5个版本和所有以前的主要版本的发布物都可以使用。保留旧的存储库以防需要查看特定提交,但这只是在需要时才进行。

希望这能有所帮助。

祝你好运!


1

我增强了git-p4的功能,使其使用git notes (https://github.com/ermshiperete/git-p4)。这样做的好处是多个人可以共享git代码库,但仍无法完全自动化,因为每个开发者都必须将自己的更改提交到p4。

我设置的方式是,服务器上的脚本检查是否有新的更改已经提交到p4,如果是,则执行git-p4同步,并将更改推送到git代码库(包括git-p4 notes)。使用git工作的开发人员从git代码库拉取主分支和git-p4 notes分支,进行更改并将它们提交到本地git代码库。然后执行git p4 submit,之后将master + git-p4 notes分支推送到远程git代码库。

这种方式运行得相当不错,尽管偶尔服务器上检查p4的脚本会出现故障 - 这是我脚本的问题。但这只是一个权宜之计,我希望我们能很快完全转到git上。


谢谢,我一定会尝试的。 - Petra Kahn

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接