如何在Perforce中删除流仓库?

如何在Perforce中删除流仓库?,perforce,Perforce,基本上我想做的是从服务器上删除一个仓库。我可以访问P4Admin和P4Helix 现在我明白了,我必须首先删除所有工作区,然后删除流,然后删除仓库。但我正在寻找这个过程的解决办法(我个人认为这很愚蠢,如果有人离开公司不想合作怎么办?),有吗 我是否可以强制删除仓库及其流,而不必去找可能使用过该仓库的每个可能的用户并要求他们删除其工作区? 首先,删除仓库中的所有文件 接下来,删除仓库中所有流的所有客户端 接下来,删除仓库中的所有流 最后,删除仓库 通过CLI执行这类操作总是比通过P4Admin、

基本上我想做的是从服务器上删除一个仓库。我可以访问P4Admin和P4Helix

现在我明白了,我必须首先删除所有工作区,然后删除流,然后删除仓库。但我正在寻找这个过程的解决办法(我个人认为这很愚蠢,如果有人离开公司不想合作怎么办?),有吗

我是否可以强制删除仓库及其流,而不必去找可能使用过该仓库的每个可能的用户并要求他们删除其工作区?

  • 首先,删除仓库中的所有文件
  • 接下来,删除仓库中所有流的所有客户端
  • 接下来,删除仓库中的所有流
  • 最后,删除仓库
通过CLI执行这类操作总是比通过P4Admin、IMO更容易。以下是执行这四项操作的四个命令行:

p4 obliterate -y //yourdepot/...
p4 -F "clients -S %stream%" streams //yourdepot/... | p4 -F "client -df %domainName%" -x - run | p4 -x - run
p4 -F "stream -d %stream%" streams //yourdepot/... | p4 -x - run
p4 depot -d yourdepot
请注意,您需要admin/super访问权限才能运行大多数这些命令<代码>p4客户端-df允许您强制删除您不拥有的客户端

您可能还需要运行第三个命令(删除流的命令)几次,因为子流需要在其父流之前删除。您可以编写一个聪明的脚本,执行图形搜索,然后以自下而上的顺序删除流,但通过运行多个过程来强制执行要容易得多,因为每次执行时,您至少会删除整个层次结构的一层。:)


(我同意,如果有更多的一次性方法,那就太好了,但命令行至少可以让您轻松地将查询放在一起,这样您就不需要手动查找每一项内容。)

感谢您的回答,我是否有机会使用GUI模式而不是CLI来完成这项工作?据我所知,要在GUI中执行此操作,您需要逐个单击每个工作区/流,然后一次删除一个工作区/流。非常感谢,原来我看不到工作区,因为它已自动筛选到我拥有的工作区。当我删除它时,我看到了所有的工作空间,并且我取消了阻止删除流的工作空间。我最终能够杀死仓库,而不需要任何用户。