更新有列表以反映本地工作副本

Update have list to reflect local working copy

我从本地工作区删除了一个不再需要的大文件夹,即 //binary_blobs/...。现在 Perforce(命令行)抱怨 缺少文件,即:

test.raw - submit change default to delete //binary_blobs/test.raw#1

我的目标是告诉远程服务器我已经在本地删除了文件,并且 server/depot 副本应该单独保留。本质上,我想更新 "have list" 以便它知道我不再拥有这个 200GB 的二进制文件夹 数据。我 运行 p4 flush //binary_blobs/...,希望它能解决问题, 但没有:p4 仍在本地跟踪这些文件。

所以,我决定只告诉它在 #0 同步此文件夹以删除本地 通过 p4 sync -f //binary_blobs/...#0 复制文件,但这也失败了 由于:

//binary_blobs/test.raw#1 is opened for delete and can't be deleted

啊!看来我必须恢复更改:

p4 revert //binary_blobs/...

现在再次通过网络重新同步所有数据,这将需要几天时间。

问题

我可以通过命令行告诉 Perforce 只更新基于 "have list" 的 在我本地拥有的东西上,无需从远程重新拉出整个仓库 服务器?

终于想通了。首先,我在保持工作区文件原样的同时恢复:

p4 revert -k //binary_blobs/...

现在我可以更新到修订版 #0:

p4 sync -f //binary_blobs/...#0

让我不必手动重新创建我的工作区。