Perforce无法编辑文件,因为它说它已经打开,但是否则报告“ p4已打开”

时间:2019-02-01 07:13:06

标签: perforce

我遇到这种情况

当我尝试运行p4 edit <file>时,它说

- can't edit (already opened on this client)

但是,当我运行p4 opened <file>(带有-a-x选项)时,它说

-  - file(s) not opened on this client.

我现在处于这种边缘状态。

  • 我无法检出文件
  • 我无法还原文件,
  • 我无法检入文件。

我该如何解决?到底发生了什么?

1 个答案:

答案 0 :(得分:2)

首先-仔细检查您从问题中删除的所有文件路径是否彼此真正匹配。出现此错误的合法方法是,如果您要编辑已在同一路径下的 local 路径下打开的 depot 文件,客户端(因为您先打开它,然后更改了客户端视图),并且您尝试通过“新”本地路径重新打开相同的软件仓库文件,而该文件在先前位置中仍有待处理的更改。确保在p4 opened <file>错误返回的确切的仓库路径上运行p4 revert <file>can't edit

一旦消除:

通常不应该出现此错误,这是Perforce服务器中内部数据库不一致的症状-仓库文件记录为在db.locks表中在客户端上打开,但是在相应的客户端文件上打开不在db.working表中。

最简单的解决方法是让管理员在服务器根目录上运行p4d -xf 925;这是一个修复命令,用于查找此确切的不一致情况,应该通过删去不匹配的db.locks条目来修复它。

p4d -xx也将对其进行修复(此命令将扫描一组不同的不一致之处,并写入日志补丁文件来修复它们)。