Perforce 如何删除具有挂起更改列表的Performce客户端
我在perforce中有一个工作区,其中一些文件被标记为删除。现在我想强制删除该工作区Perforce 如何删除具有挂起更改列表的Performce客户端,perforce,Perforce,我在perforce中有一个工作区,其中一些文件被标记为删除。现在我想强制删除该工作区 但我没有管理员权限。如何实现此目的?运行p4 opened查看所有打开的文件,然后运行p4 revert将其还原 然后运行p4 changes-c您的客户机名称-s pending查看所有挂起的变更列表。因为在第一步中,您恢复了所有打开的文件,所以这些更改列表将全部为空。运行p4 change-d change number删除每个空的挂起变更列表 然后,您可以运行p4 client-d来删除您的客户端。为什
但我没有管理员权限。如何实现此目的?运行
p4 opened
查看所有打开的文件,然后运行p4 revert
将其还原
然后运行p4 changes-c您的客户机名称-s pending
查看所有挂起的变更列表。因为在第一步中,您恢复了所有打开的文件,所以这些更改列表将全部为空。运行p4 change-d change number
删除每个空的挂起变更列表
然后,您可以运行
p4 client-d
来删除您的客户端。为什么在P4V中,通过任意顺序的菜单项只需点击11次
让我们将Perforce发送到可用性学校。以下是我清空默认更改集所做的操作,其中有许多文件已签出进行编辑:
p4 opened | sed 's/#.*$//g' | xargs -iF p4 revert F
这将从
p4 opened
生成的文件名中切断注释部分,并将文件名通过管道传送到p4 revert
。在此之后,我没有任何挂起的内容,p4更改-c我的客户机名称-s挂起
不会产生任何内容。如果您有一个巨大的更改集,这将需要一段时间。这里有一个用于删除Performce客户端的脚本化过程。小心使用:这将删除您在客户端上正在进行的所有工作
p4-c$CLIENT revert-k/。。。
注意使用了-k
选项,该选项“将文件标记为在服务器元数据中还原,而不更改客户端工作区中的文件”。因为我们稍后将删除客户端,所以我们不关心更新客户端工作区。如果打开了许多文件,这会加快速度p4变更-s搁置-c$CLIENT | cut-d'-f2|
读变时;p4是否搁置-c$CHANGE-d/。。。;完成
如果您从未使用过p4 shelve
,则可以省略此步骤p4变更-s待定-c$CLIENT | cut-d'-f2 | p4-b1-x-change-d
p4客户端-d$client
(这个过程应该容易得多!特别是,我们似乎没有理由在删除客户机之前删除与客户机关联的搁置文件。如果您发现自己在这方面遇到困难,请联系Performce支持部门并建议简化。)编写了名为的脚本,用于删除p4客户端(存在变更列表和其他问题)。
它具有以下特点:
- 自动删除变更列表(恢复挂起并删除搁置)
- 修复主机名(如果与创建客户端的主机名不同)
- 如果已锁定,则解锁客户端
- 删除客户端
- 删除关联文件(可以配置为不从参数中删除)
这对我在P4V中重置默认变更列表非常有效:
您还可以右键单击新更改列表,以还原文件,以执行您需要执行的任何操作,这在默认更改列表上不可用。在删除更改列表之前,需要还原所有文件 通过p4v(2013.4版)执行两个步骤:
右键单击挂起的更改列表,然后选择“还原文件”
右键单击变更列表,然后选择“删除挂起的变更列表‘XXXXXX’”
对于恢复和删除挂起的变更列表,我更喜欢以下顺序:
p4 changes-u joe
列出我的挂起的变更列表p4 revert-c 12345/…
还原挂起的变更列表12345中的所有文件(例如)<代码>p4更改-d 12345删除现在为空的更改列表。HTH.@Jeffro您的解决方案,p4 revert-c CLN/…
节省了我一个接一个地还原打开的文件的时间。另请参见带有搁置文件的变更列表。此处不需要xargs
(尤其不需要-i
选项,即使在Linux上也不可移植和不推荐)。改用p4-x-
(请参阅p4帮助用法
)。另外,为了避免在有大量更改集时等待,请使用-k
选项p4 revert
。p4 opened不一定会显示所有挂起的更改。您可能需要使用changes命令来查看它们。这回答了一个不同的场景,然后在文章中描述,您希望还原默认变更列表中的文件(没有问题)-这篇文章讨论的是您试图提交的状态-遇到错误-然后Perforce会将您的所有文件重定向到更改列表,即使您从未请求过更改列表。因此,在您的情况下,您需要做的就是还原您的所有文件