Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
p4和git之间有双向桥吗?_Git_Perforce - Fatal编程技术网

p4和git之间有双向桥吗?

p4和git之间有双向桥吗?,git,perforce,Git,Perforce,是否有一种好的(可靠且自动化的)方法可以在Performance和git之间为多个用户移动git更改?git-p4似乎能够很好地处理单用户情况,但我正在寻找一个多用户选项 我们目前正在从许多不同的源代码控制系统转移到一个;吉特。我们可能需要从git迁移到perforce,并提供一种向perforce展示git的好方法。对于乙醚情况,两个之间的双向桥接至关重要 有什么东西可以为多个用户提供git和p4之间的双向通信吗?我还没有听说过解决方案。当遇到这样的事情时,我通常会使用脚本解决方案,尽量不麻烦

是否有一种好的(可靠且自动化的)方法可以在Performance和git之间为多个用户移动git更改?git-p4似乎能够很好地处理单用户情况,但我正在寻找一个多用户选项

我们目前正在从许多不同的源代码控制系统转移到一个;吉特。我们可能需要从git迁移到perforce,并提供一种向perforce展示git的好方法。对于乙醚情况,两个之间的双向桥接至关重要


有什么东西可以为多个用户提供git和p4之间的双向通信吗?

我还没有听说过解决方案。当遇到这样的事情时,我通常会使用脚本解决方案,尽量不麻烦引入确切的历史记录。通常是过去5个版本和所有以前的主要版本中标记为发行版的任何内容。保留旧的存储库,以防您需要查看特定的提交,但这只是在需要的基础上进行的

希望这有点帮助


祝你好运

坦率地说,如果出于某种原因需要使用perforce,最好只迁移到Git,或者将Git存储库本身签入perforce

git Performance桥接器存在问题,尤其是在分布式环境中。要么让一个人充当网关管理员,要么让每个人单独与perforce同步,而不是彼此同步

---------更新---------------

看起来Perforce提供了“Perforce Fusion”-参见


这可能是一个可行的解决方案,他们可以免费试用。

我增强了git-p4,以便它使用git notes()。这样做的好处是git回购协议可以由多人共享。但是,它仍然不允许完全自动化,因为每个开发人员都必须向p4提交自己的更改

我设置它的方式是,服务器上的脚本检查是否有任何新的更改签入到p4。如果是这样,它会执行git-p4同步,并将更改推送到git repo(包括git-p4注释)。使用git的开发人员从git repo中提取主分支和git-p4 notes分支,进行更改并提交给本地git repo。然后,他们进行gitp4提交,然后将master+git-p4 notes分支推送到远程gitprepo


这工作得相当好,尽管偶尔检查p4的服务器脚本会阻塞—我将这归咎于我的脚本。不过,这是一个创可贴的解决方案,我希望我们能尽快转到Git。

谢谢。听起来我会扮演守门员,或者我们会加速换人。谢谢,我一定会试试的。