由于孤立的更改列表,无法删除用户

时间:2018-08-23 14:32:26

标签: perforce

在尝试通过Perforce Admin程序删除用户时,我认为这使我们处于一种奇怪的状态,由于现有的更改列表,我们无法删除该用户,但是由于工作区不存在,因此我们无法还原该更改列表。不再存在。以下是一系列命令行调用,它们说明了我们现在所处的状态:

# try to delete the user
C:\>p4 user -fd swilson
User swilson has file(s) open on 1 client(s) and can't be deleted.

# Show files opened for edit by swilson
C:\>p4 opened -u swilson
//depot/ProjectName/UnityProjects/ProjectSettings/EditorSettings.asset#1 - edit change 174603 (text) by swilson@repo

# Try to delete the changelist
C:\>p4 change -fd 174603
Change 174603 has 1 open file(s) associated with it and can't be deleted.

# Try to revert the changelist server-side
C:\>p4 revert -k -c 174603 //...
Change 174603 belongs to client repo.

# Try to revert it again, this time specifying the mystical "repo" workspace
C:\>p4 revert -k -c 174603 -C repo //...
repo is a depot, not a client.

# Attempting to change client field of changelist
C:\>p4 change -f 174603
Error in change specification.
Change has files open, client cannot be modified.

据我们所知,“回购”客户端/工作区不是存在的客户端/工作区。

它也不是软件仓库,因为命令行中的“ p4软件仓库”没有显示“ repo”条目。

尝试创建一个名为“ repo”的工作区以便我可以还原变更列表的尝试失败,并出现错误“ repo是一个仓库,而不是客户端”。

鉴于不需要保留此更改列表中的更改,我们如何清理该更改列表以便删除用户?对于奖励积分,这个“回购”工作空间是什么?

1 个答案:

答案 0 :(得分:0)

在客户机上打开的文件不存在,因为已经存在,所以不存在,这纯粹是邪恶的。我不确定那个疯狂的天才swilson是如何使文件进入该状态的,但是由于重命名仓库不是轻量级的操作,因此很难摆脱它。 (请注意,我假设repo是一个活动仓库;如果不是,请删除该吸盘,并使用该名称创建一个客户端,我认为您无家可归。)

我在这里的方法是仅对其进行日记手术。为db.working的{​​{1}}和db.locks条目创建一个检查点(应该有一个,对应于一个打开的文件),将swilson替换为@pv@ ,与@dv@一起玩。不再有邪恶的打开文件。