我需要将仓库从一台 Perforce 服务器复制到另一台。文件修订历史记录需要保持完整,但用户信息和工作区信息不能复制到新服务器。
我已经尝试了标准检查点创建和恢复过程,但如果两台服务器上都存在同名的用户或工作区,源服务器将覆盖目标服务器上的此信息。如果这些用户帐户和工作区没有完全相同的详细信息,那就非常糟糕了。
此类操作的目标是允许两个独立的、断开连接的组查看带有修订历史记录的版本化源代码树。更新将是单向的,一组进行开发,一组只是查看。每个小组的网络都是完全封闭的,没有任何形式的外部连接。
任何想法将不胜感激,我已经在这个问题上绞尽脑汁有一段时间了。
编辑:
最终,我的解决方案是在与源服务器相同的计算机上安装中间 Perforce 服务器。使用它,我可以执行从源服务器到中间服务器的标准备份/恢复,然后删除中间服务器中所有不需要的元数据,然后再从中间服务器备份到最终目标服务器。相当复杂,但它完成了工作,并且可以在 Windows Power Shell 中以编程方式完成所有工作。
有几种方法,但我认为你会以一种艰难的方式来解决这个问题。
继续做你正在做的事情,但删除 db.user、db.view(我认为)和 db.group。然后当你启动perforce服务器时,它会创建这些,但它们将是空的,这将使任何人都很难登录。所以你必须创建用户/组。我不确定您是否可以从另一台服务器获取这些数据库文件并将它们复制进去,从未尝试过。
更简单的方法是制作一个副本。http://www.perforce.com/perforce/r10.2/manuals/p4sag/10_replication.html http://www.perforce.com/perforce/r10.2/manuals/p4sag/10_replication.html确保查看 p4d -M 标志以确保它是只读副本。我假设你有一个 USB 驱动器或可以在网络之间移动的东西,所以你可以只向 USB 驱动器发出 p4 pull,然后移动驱动器,然后从 USB 运行它,或者发出另一个 p4 pull,拉到最终的服务器。从未尝试过此操作,但通过一些工作应该是可能的,您必须通过 USB 运行服务器才能发出最终的 p4 拉取。
你可以看看 perforce git fusion,并制作一些 git 克隆。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)