还原文件不在perforce的工作区中

时间:2009-05-26 14:54:48

标签: perforce workspace

我正在尝试从perforce安装中删除旧用户。之前的管理员已经删除了所有活动工作区/客户端,因此我们现在应该能够删除用户,但是当我运行时

p4 user -f -d auser
User auser has file(s) open on 1 client(s) and can't be deleted.

但是,auser不再具有任何关联的客户端,如果我在P4V中过滤挂起的更改列表视图,则会向用户显示在默认更改列表中检出一个文件但未指定客户端。即使我以用户身份登录,我似乎也无法恢复或对文件执行任何操作。有什么提示我可以解决这个问题吗?

2 个答案:

答案 0 :(得分:5)

虽然这两个命令都没有返回任何内容:

$ p4 clients -u <USER>

$ p4 changes -s pending -u <USER>

此命令显示我打开了哪个文件:

$ p4 opened -u <USER>
//depot/path/to/file#1 - edit default change (text) by <USER>@<CLIENT>

此命令不起作用:

$ p4 -u <USER> -H <CLIENT> revert -k //depot/path/to/file
//depot/path/to/file#1 - belongs to user <USER>, not reverted

删除客户端会:

$ p4 client -o <CLIENT> > <CLIENT>.txt
$ p4 client -d -f <CLIENT>
$ p4 opened -u <USER>
File(s) not opened anywhere.

FTW! \ O /

如果需要,您可以使用以下命令重新创建客户端:

$ p4 client

然后阅读您使用<CLIENT>.txt输出创建的p4 client -o <CLIENT>文件并保存。

更多信息: http://answers.perforce.com/articles/KB_Article/Reverting-Another-User-s-Files

答案 1 :(得分:1)

解决。

有点奇怪,但这就是我所做的。我得到了包含该文件的默认更改列表的详细信息。它有工作区名称,它是机器的名称。我登录到机器然后以用户身份进入perforce。此时我可以看到挂起的更改列表并还原文件。现在我可以删除用户。

这是怎么发生的?

我认为必然发生的是客户的困惑。前段时间我改变了该机器上不少客户端的所有者(它的构建服务器),其中一些客户端必须有旧用户打开的文件。这是我能提出的唯一解释。