我的家庭 Perforce 服务器死了。我设置了一个新的。
我设置它来支持的项目在规划阶段就夭折了。那时仓库的内容是一些原型代码,我们从来没有制定灾难恢复计划。
开发机器上仍然有现有的代码。尽可能地,我希望服务器的更改对开发人员是透明的——使用相同的存储库和相同的目录,只需更改要连接的服务器的名称并重新开始工作。
我需要做什么才能做到这一点?
我的家庭 Perforce 服务器死了。我设置了一个新的。
我设置它来支持的项目在规划阶段就夭折了。那时仓库的内容是一些原型代码,我们从来没有制定灾难恢复计划。
开发机器上仍然有现有的代码。尽可能地,我希望服务器的更改对开发人员是透明的——使用相同的存储库和相同的目录,只需更改要连接的服务器的名称并重新开始工作。
我需要做什么才能做到这一点?
Shane 建议将使用一个人的文件版本填充仓库。但是,如果您有另一个用户也有副本,那么您将需要几个额外的步骤。
首先,只需按照 Shane 的建议设置一台机器。
您现在需要设置第二个用户。如果您确信用户 2 的代码版本与您放入新服务器的代码完全匹配,那么只需创建一个客户端规范(可能与之前使用的名称相同),然后使用“Force”标志进行同步。这将覆盖用户 2 机器上的所有文件,并且 - 更重要的是 - 确保 Perforce 知道您真正拥有的版本。
但是,如果您对代码中的任何差异有任何疑问,请不要从第二个用户的机器进行初始同步。相反,设置客户端规范,然后使用“协调离线工作”选项 - 从 P4V 中选择工作区,然后它是一个右键单击选项。然后只需浏览后续对话框即可整理出您需要的内容。
最后,如果您想为您的服务器提供一个非常快速且肮脏的备份系统,我已经在我的博客上发布了一些注释- 应该只需要几分钟即可完成设置。
我假设您无权访问死服务器上的 perforce depot 文件?我假设你知道你将失去所有的历史。
如果是这种情况,您需要做的就是设置新服务器,创建一个用户/客户端,其根客户端规范路径与您在开发机器上使用的原始客户端规范相同,并将所有文件签入 perforce。真的很简单……
您可能需要重新绑定您在 Visual Studio 等工具中可能拥有的 SCM 绑定,仅此而已。