从perforce历史记录中删除提交的变更列表

从perforce历史记录中删除提交的变更列表,perforce,changelist,Perforce,Changelist,我无意中向Performce服务器提交了错误的变更列表。然后,我使用“backout changelist”选项退出该变更列表。但是,这两个更改会出现在所有受影响文件的历史记录中,这些文件曾经被删除,然后又重新添加 我希望能够从perforce server中删除这两个变更列表的历史记录。有可能吗。可以通过一些Perforce管理员命令来完成 编辑:我见过p4 change-d-f,它可以删除变更列表,但这需要对变更列表中的文件使用p4 deletate。这是否意味着我必须删除所有受变更列表影响

我无意中向Performce服务器提交了错误的变更列表。然后,我使用“backout changelist”选项退出该变更列表。但是,这两个更改会出现在所有受影响文件的历史记录中,这些文件曾经被删除,然后又重新添加

我希望能够从perforce server中删除这两个变更列表的历史记录。有可能吗。可以通过一些Perforce管理员命令来完成


编辑:我见过
p4 change-d-f
,它可以删除变更列表,但这需要对变更列表中的文件使用p4 deletate。这是否意味着我必须删除所有受变更列表影响的文件。这对我来说似乎不是一个可行的解决方案,因为我不想删除这些文件。由于提交了两个更改列表,我是否应该只删除文件的这两个特定版本?

您的Performce管理员可以调用
p4 deletate
来完全删除文件、版本和历史记录。 但我强烈建议不要这样做。回滚文件/更改并查看其历史记录是非常正常的事情

如果您仍然决定使用
p4 deletate
请确保先在不使用“-y”选项的情况下调用它(预览),然后(如果perforce所说的输出正常),使用“-y”选项调用相同的命令(以实际执行擦除)


如果使用文件修订调用
p4 deletate
(例如
p4 deletate//depot/dir/file#5
),则仅删除该修订的更改和历史记录,保留所有以前的修订和历史记录。您还可以删除修订范围。

实际上,错误的变更列表影响了几乎每个文件,因此几乎所有文件的历史记录都已损坏。这就是为什么我不希望出现回滚。我是否必须为受影响文件的所有修订调用“p4删除”,或者仅为这两个特定修订(由于这两个有问题的变更列表)调用“p4删除”,因为没有回滚证明调用“p4删除”是合理的。这是完全正常的事情。如果您仍然认为需要它,则必须为变更列表中的所有文件调用“p4删除文件#rev”。添加“-y”选项以真正执行此操作(保留“-y”只是运行一个测试)。非常感谢您的帮助。我明白做一个“p4删除”似乎不合乎逻辑,但我仍然想做。所以,我只需要删除由于错误的变更列表而引入的文件的修订,而不是删除整个文件?我理解得对吗?我只是想确认一下。是的。“p4 deletate-y//depot/dir/file#5”只会删除文件的修订版5(保留修订版1-4)。#5的历史记录将消失(包括引入它的变更列表)。您应该在不使用“-y”的情况下运行命令以进行测试运行!确保不存在“#6”(比要删除的版本更新的版本)。“删除”命令可能会稍微阻塞您的服务器(即提交可能需要更长的时间)。谢谢。我已经接受了你的回答。请对其进行编辑,以包含评论中提供的信息。