Perforce:如何删除p4v拒绝删除的更改列表?

Pas*_*cal 3 perforce

经过一段时间的使用perforce后,我留下了很多仍然开放的变更列表.要清理我想要摆脱它们的一部分.所以这就是使这个变得复杂的原因:

  • 对于更改的子集,客户端的主机已更改.
  • 某些更改包含搁置文件.
  • 可以删除或移动更改列表中的文件.

当上述一个或多个点对于更改列表为真时,p4v(可视客户端)将不允许您删除更改列表.

那么删除这些变更清单的有效方法是什么?

Pas*_*cal 5

首先,如果主机的工作区不同,perforce 拒绝在任何更改列表上工作.因此,第一步将工作空间的主机更改为当前主机.这可以通过可视化客户端轻松完成.打开工作区的属性,选择编辑并更改主机.p4v

然后你可以使用命令行来摆脱讨厌的更改列表:

# to delete a changelist
CLIENT="name_of_your_client"
CHANGE="number_of_the_changelist_to_delete"
p4 -c $CLIENT shelve -c $CHANGE -d //... # Delete all shelved files from it.
p4 -c $CLIENT revert -k -c $CHANGE //... # Revert all files from changelist (only metadata).
p4 -c $CLIENT change -d $CHANGE # Finally delete the changelist.
Run Code Online (Sandbox Code Playgroud)

在最后一个命令之后,更改列表将永远消失.