如何删除 Perforce 中的流仓库?

How does one delete a stream depot in Perforce?

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

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

我可以强制删除一个 depot 及其 Streams,而不去询问可能使用过这个 depot 的每个可能的用户并要求他们删除它的工作区吗?

  • 首先,清除depot中的所有文件。
  • 接下来,删除库中所有流的所有客户端。
  • 接下来,删除 depot 中的所有流。
  • 最后,删除depot。

这种事情通过 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 client -df 允许您强制删除不属于您的客户端。

您可能还需要 运行 第三条命令(删除流的命令)几次,因为子流需要在父流之前删除。您 可以 编写一个聪明的脚本来执行图形搜索,然后按自下而上的顺序删除流,但是通过 运行ning 暴力破解它要容易得多多次通过,因为每次通过你都会取出层次结构的至少一整层。 :)

(我同意,如果有更多的一次性方法来做这件事会很好,但命令行至少可以很容易地将查询放在一起,所以你不需要寻找每件事手动向下。)