在 Perforce 中,如何安全地获取最新版本的二进制文件(如 Excel 文件),而不覆盖我的本地副本?

In Perforce, how to get latest version of a binary file (like Excel file) safely, without overriding my local copy?

我使用 Perforce 管理一个包含一些二进制文件(Excel、Word 和 Visio 图表文件)的项目。

我想知道从 Perforce 上可用的最新版本更新此类文件的本地版本的安全方法,而无需 corrupting/damaging/overriding 本地更改。 (本地更改在本地进行,尚未提交给 Perforce)

锁似乎不能解决问题,因为它只有助于并发提交文件。

  1. p4 reconcile 以确保任何本地更改都正确反映在您的待定更改列表中。
  2. p4 sync 正常。打开的文件不会被 p4 sync.
  3. 覆盖

如果您遵循标准的 Perforce 工作流程,即始终在修改文件之前打开文件进行编辑(即您永远不会覆盖本地文件上的 "read-only" 标志),则可以跳过第 1 步,只需 sync随时无所畏惧

  1. p4 resolve 处理任何在本地和库中修改的文件。

请注意,Perforce 的内置合并逻辑将仅处理文本文件,因此 resolve 默认情况下仅提供二进制 yours/theirs 二进制文件选择(at 将覆盖您的本地更改,ay 将忽略 depot 更改)。如果你有一个可以处理你的二进制格式的合并工具,你可以这样做:

p4 set P4MERGE=your_merge_tool
p4 resolve -t
m

resolve 过程中调用您的合并工具。有关如何调用此工具的更多信息,请参阅有关 P4MERGE 变量的文档(如果它不遵循 base theirs yours merged 调用约定,您可能需要将其包装在脚本中):https://www.perforce.com/manuals/v17.1/cmdref/Content/CmdRef/P4MERGE.html