6

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

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

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

4

2 回答 2

6

虽然这两个命令都没有返回:

$ 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

于 2013-06-07T10:47:51.817 回答
1

解决了。

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

这怎么发生的?

我认为必然发生的是客户的混乱。不久前,我更改了该机器(其构建服务器)上相当多客户端的所有者,其中一些客户端必须为旧用户打开文件。这是我能想到的唯一解释。

于 2009-05-27T10:02:05.110 回答