如何删除正在等待更改列表的perforce客户端
我在perforce中有一个工作区,我在其中创build了一些文件标记以进行删除。 现在我想强制删除该工作区。
但是我没有pipe理员权限。 我怎样才能做到这一点?
运行p4 opened
查看所有打开的文件,然后运行p4 revert
以还原它们。
然后运行p4 changes -c your-client-name -s pending
以查看所有待p4 changes -c your-client-name -s pending
更改列表。 由于在第一步你恢复了所有打开的文件,这些修改表都将是空的。 运行p4 change -d change-number
删除每个空的未决p4 change -d change-number
列表。
然后你可以运行p4 client -d
来删除你的客户端。
为什么只有11个点击P4V,通过任意顺序的菜单项。
- 右键单击更改列表
- 删除搁置的文件
- '是'
- 右键单击更改列表
- 删除所有的工作
- 右键单击更改列表
- 恢复文件
- '还原'
- 右键单击更改列表
- 删除挂起的更改列表
- '是'
让我们把Perforce发送到可用性学校。
这是我做了什么来清空我的默认更改集,其中有很多文件检出编辑:
p4 opened | sed 's/#.*$//g' | xargs -iF p4 revert F
这将从由p4 opened
的p4 opened
生成的文件名切断注释部分,并将文件名传送到p4 revert
。 之后,我什么也没有挂起和p4 changes -c my-client-name -s pending
什么也没有。 如果你有一个巨大的变化,这将需要一段时间。
以下是删除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支持,并build议您变得更简单了。)
写了这个脚本叫做p4-delete-client,用于删除一个p4客户端(它有更改列表和其他问题)。
它具有以下特点:
- 自动删除更改列表(还原待处理和删除搁置)
- 修复主机名(如果不同于创build客户端的话)
- 解锁客户端,如果locking
- 删除客户端
- 删除关联的文件(可以configuration不从参数)
请注意,该脚本依赖于回购中的其他脚本。
尝试以下步骤:
-
1.右键单击更改列表
-
select“更改所有权”
-
在工作区框中select已有的工作区,然后单击确定
- 右键单击更改列表并select删除而不是确定。
在P4V中,这对我来说很重要,用于重置默认更改列表:
-
右键单击默认更改列表,然后select“编辑挂起更改列表”默认“”
-
点击右下angular的“保存为编号更改列表”
-
右键单击新的更改列表并select“删除更改列表XXX”
您也可以右键单击新的更改列表以恢复文件,无论您需要做什么,这在默认更改列表中都不可用。
所有的文件需要恢复之前,可以删除更改列表。
两个步骤通过p4v(版本2013.4):
-
恢复所有文件。
Right click the pending changelist, and then choose "Revert Files"
-
删除更改列表。
Right click the changelist, and then choose "Delete Pending Changelist 'XXXXXX'"