Perforce 如何删除/修改特定Performce/Helix工作区中的变更单

Perforce 如何删除/修改特定Performce/Helix工作区中的变更单,perforce,helix,Perforce,Helix,由于法律问题,我们不得不从Helix/Perforce存储库中删除整个项目 我们取得了部分成功,所有过去版本的文件都不见了,仓库也不见了 但是,工作区和所有关联的变更列表仍然存在(P4V>视图>提交的变更列表) 变更列表正确地显示没有与之关联的文件(因为我们删除了它们),但是变更列表描述仍然完整,我们也需要删除它们(它们包含法律上的“重要”信息,所以我们需要它们永久消失,句号) 现在我的问题是——有没有办法: 1) 是否删除工作区以及与删除的仓库和工作区相关的所有变更单 2) 如果没有,是否有办

由于法律问题,我们不得不从Helix/Perforce存储库中删除整个项目

我们取得了部分成功,所有过去版本的文件都不见了,仓库也不见了

但是,工作区和所有关联的变更列表仍然存在(P4V>视图>提交的变更列表)

变更列表正确地显示没有与之关联的文件(因为我们删除了它们),但是变更列表描述仍然完整,我们也需要删除它们(它们包含法律上的“重要”信息,所以我们需要它们永久消失,句号)

现在我的问题是——有没有办法:

1) 是否删除工作区以及与删除的仓库和工作区相关的所有变更单

2) 如果没有,是否有办法编写脚本,以便我们可以清除已删除仓库/工作区下的所有变更列表描述?有数千个变更列表需要修改,因此无法进行手动操作


非常感谢。

好的,我研究了Helix文档并提出了一个脚本解决方案。如果有人有同样的问题,我将在下面发布我的解决步骤:

0)这要求您要删除的所有变更列表都必须事先删除与变更列表关联的所有文件。如果您没有这样做,请使用
p4 deletate
从仓库中删除文件

1) 在具有管理员权限的命令提示符中,运行:
p4更改-c工作区的名称>c:\prune.bat

2) 在具有正则表达式(regex)的文本编辑器中打开文件c:\prune.bat

3) 使用正则表达式,将所有出现的字符串“Change”替换为“p4 Change-f-d”(当然不带双引号)

4) 将所有匹配“on 2.*$”的字符串替换为空字符串(删除行的剩余部分,直到其结束)。注:搜索正则表达式模式中的数字2与2000-2019年及其后的第一个数字匹配。如果您在2000年之前有变化,请使用数字1

5) 检查批处理文件,它应该包含如下内容:

p4变更-f-d 2083
p4变更-f-d 2074
p4变更-f-d 2073
p4变更-f-d 2072
p4变更-f-d 2071

6) 使用管理员权限从命令提示符运行批处理


享受。希望这能有所帮助。

这里有一个简单的单线解决方案,可以在任何平台上运行:

p4 -Ztag -F "change -df %change%" changes -c CLIENT | p4 -x - run

如果您的想法是删除所有已删除文件的变更列表(即所有空的变更列表),那么您可以停止使用
-c客户机
change-df
命令将跳过文件未被删除的更改,因此只需在所有更改上运行它就可以了。

幸运的是,正如我在发布本文之前所写的,我已经能够实现我想要的。所以我无法测试你的解决方案。不过还是谢谢你。