是否有一种好的(可靠的,自动化的)方法可以在perforce和git之间为多个用户移动git变更? git-p4似乎很好地处理了单用户案例,但我正在寻找一个多用户选项。
我们目前正从许多不同的源控制系统转向一个;饭桶。我们可能需要从git迁移到perforce并提供一种向perforce展示git的好方法。对于以太网情况,两者之间的双向桥梁将是必不可少的。
那里有什么能为多个用户提供git和p4之间的双向流量吗?
答案 0 :(得分:5)
坦率地说,你最好只是迁移到Git,如果你因为某种原因要求使用perforce,可能会检查git存储库本身是否有效。
git< - > perforce桥在分布式环境中存在问题,尤其是 。要么有一个人担任门卫 - 要么让每个人单独与perforce同步而不是彼此同步。
---------更新---------------
看起来Perforce提供了“Perforce Fusion” - 请参阅http://www.perforce.com/product/components/git-fusion
这可能是一个可行的解决方案,他们可以免费试用。
答案 1 :(得分:1)
我没有听说过解决方案。当面对这样的事情时,我通常会采用脚本化的解决方案,并尽量不去理解确切的历史记录。通常标记为过去5版本和所有先前主要版本的版本。保留旧的存储库,以防您需要查看特定的提交,但这只是根据需要进行。
希望这有点帮助。
祝你好运!答案 2 :(得分:1)
我增强了git-p4,以便它使用git notes(https://github.com/ermshiperete/git-p4)。这样做的好处是git repo可以由多个人共享。但是,它仍然不允许完全自动化,因为每个开发人员都必须将他/她自己的更改提交到p4。
我设置它的方式是服务器上的脚本检查是否已将任何新更改签入到p4。如果是这样,它会执行git-p4同步并将更改推送到git repo(包括git-p4注释)。使用git的开发人员从git repo中获取master分支和git-p4 notes分支,进行更改并将它们提交给本地git repo。然后他们做了一个git p4提交,然后将master + git-p4 notes分支推送到远程git repo。
这很好用,虽然偶尔服务器脚本检查p4 chokes - 我责怪我的脚本。然而,这是一个创可贴解决方案,我希望我们能尽快完全转向git。