我在 perforce 中有一个工作区,我在其中制作了一些标记为删除的文件。现在我想强行删除该工作区。
但我没有管理员权限。我怎样才能做到这一点?
答案 0 :(得分:48)
运行p4 opened
查看所有已打开的文件,然后运行p4 revert
还原它们。
然后运行p4 changes -c your-client-name -s pending
以查看所有待处理的更改列表。由于在第一步中您还原了所有打开的文件,因此这些更改列表都将为空。运行p4 change -d change-number
删除每个空的待处理更改列表。
然后您可以运行p4 client -d
删除您的客户。
答案 1 :(得分:45)
为什么在P4V中只有11次点击,通过一系列任意菜单项。
让我们将Perforce发送到可用性学校。
答案 2 :(得分:12)
这是删除Perforce客户端的可编写脚本的过程。谨慎使用:这将删除客户端上正在进行的所有工作!
还原此客户端上所有已更改的文件。
p4 -c $CLIENT revert -k //...
请注意使用-k
选项,该选项“将文件标记为在服务器元数据中还原而不更改客户端工作区中的文件”。由于我们稍后将删除客户端,因此我们不关心更新客户端工作区。如果您打开了许多文件,这会加快速度。
从与客户端关联的挂起更改中删除所有搁置的文件。
p4 changes -s shelved -c $CLIENT | cut -d' ' -f2 |
while read CHANGE; do p4 shelve -c $CHANGE -d //...; done
如果您从未使用p4 shelve
,则可以省略此步骤。
与客户端关联的所有待处理更改现在都为空。删除它们。
p4 changes -s pending -c $CLIENT | cut -d' ' -f2 | p4 -b 1 -x - change -d
现在没有与客户端关联的待处理更改。删除客户端。
p4 client -d $CLIENT
(这个过程应该更容易!特别是,在删除客户端之前,似乎没有必要删除与客户端关联的搁置文件。如果您发现自己在努力解决这个问题,请联系Perforce支持并提示它变得更简单。)
答案 3 :(得分:10)
以下是我清空默认更改集的操作,其中有很多文件已签出以供编辑:
p4 opened | sed 's/#.*$//g' | xargs -iF p4 revert F
这将从p4 opened
生成的文件名中删除注释部分,并将文件名传递给p4 revert
。之后我没有任何待决事项,p4 changes -c my-client-name -s pending
没有任何结果。如果你有一个巨大的变化集,这将需要一段时间。
答案 4 :(得分:5)
写了这个名为 p4-delete-client 的脚本,用于删除p4客户端(包含更改列表和其他问题)。
它具有以下特点:
请注意,该脚本依赖于repo中的其他脚本。
答案 5 :(得分:2)
尝试以下步骤:
1.右键单击更改列表
选择'更改所有权'
在工作区框中选择已存在的工作区,然后单击“确定”
答案 6 :(得分:1)
在删除更改列表之前,需要还原所有文件。
通过p4v(版本2013.4)的两个步骤:
还原所有文件。
Right click the pending changelist, and then choose "Revert Files"
删除更改列表。
Right click the changelist, and then choose "Delete Pending Changelist 'XXXXXX'"
答案 7 :(得分:0)
这在P4V中对我有用,可以重置默认的更改列表:
右键单击默认更改列表,然后选择“编辑待处理” 更改列表'默认'“
点击右下角的“另存为编号的更改列表”
右键单击新的更改列表,然后选择“删除更改列表XXX”
您还可以右键单击新的更改列表以还原您需要执行的操作的文件,这在默认更改列表中不可用。