Perforce 在新创建的工作区上运行命令p4 copy时发生性能错误

Perforce 在新创建的工作区上运行命令p4 copy时发生性能错误,perforce,Perforce,我刚刚创建了一个新的工作区。在执行从一个分支到另一个分支的p4复制时,出现“无法关闭可写文件”错误。源分支上的相关文件已被删除。我没有碰有关文件。甚至在p4 copy命令之前执行p4 sync-f也没有帮助。可能出现什么问题?该文件可在本地计算机上写入。p4试图保护您,使您不会删除可能已编辑的文件 既然您说您创建了一个新的工作区,我假设它包含与您以前的工作区相同的根。如果您知道要删除所有文件,可以手动删除这些文件,然后重试p4 sync-f或手动p4刷新以获取有关“无法关闭”错误的更多信息 在您

我刚刚创建了一个新的工作区。在执行从一个分支到另一个分支的p4复制时,出现“无法关闭可写文件”错误。源分支上的相关文件已被删除。我没有碰有关文件。甚至在p4 copy命令之前执行p4 sync-f也没有帮助。可能出现什么问题?

该文件可在本地计算机上写入。p4试图保护您,使您不会删除可能已编辑的文件

既然您说您创建了一个新的工作区,我假设它包含与您以前的工作区相同的根。如果您知道要删除所有文件,可以手动删除这些文件,然后重试
p4 sync-f
或手动
p4刷新

以获取有关“无法关闭”错误的更多信息

在您描述的刚刚创建新工作区的具体案例中,我猜您是在一个文件夹中创建了新工作区,该文件夹中的文件在本地已经存在(可能在现有工作区的顶部?)。如果确实在现有工作区的顶部创建了此工作区文件夹,停止并为此工作区选择一个新的根文件夹;另一个工作区不会“知道”您在此工作区中执行的操作正在修改其文件系统,当您切换回该工作区时,一切都将变得糟糕(您可能会发现您丢失了挂起的更改,除非强制同步所有内容,否则sync不会获取正确的内容,等等)

如果不担心弄乱另一个工作区,只需执行以下操作:

p4 clean

完成后,您的
p4副本应该可以工作。

是的,我在同一根上创建了。我不在乎旧的工作空间。然而,我的理解是p4同步-f应该解决这个问题,但它没有。我将尝试p4 clean,但好奇地想知道为什么p4 clean可以解决问题,而p4 sync-r不能
p4 sync-f
只能强制重新同步仓库中的所有内容;它不会触及没有仓库副本的现有工作区文件
p4 clean
专为您正在执行的任务而设计;它将扫描“添加的”文件,也将跳过已经“同步”的文件,而
p4 sync-f
将无声地重新下载所有内容,即使它们已经相同。请参阅:确保
p4 client-d OLD_WORKSPACE
OLD WORKSPACE spec(如果您已完成),否则您将在一个月后意外切换到它时陷入混乱状态。:)