有没有办法让Perforce恢复未更改的待集成文件?
我准备将我们的“开发”分支集成到我们的“测试”分支中,为即将发布的版本做准备 对于我们的上一个版本,在初始集成之后,我们确定有一些我们不想发布的更改。我回滚了测试分支中的一些文件,并注释掉了其他文件的部分。这些文件中的许多在开发分支中没有更改,因此就Perforce而言,它们已经被集成,可以继续使用了 显然,我可以跟踪变更列表并取消回滚这些文件。我还可以使用“-f”选项集成有问题的文件,以忽略集成历史记录 但我希望能找到一种“自动”完成的方法。我尝试将整个分支与“-f”集成,解析,然后还原未更改的文件,但这只是给出了一个消息:有没有办法让Perforce恢复未更改的待集成文件?,perforce,p4v,Perforce,P4v,我准备将我们的“开发”分支集成到我们的“测试”分支中,为即将发布的版本做准备 对于我们的上一个版本,在初始集成之后,我们确定有一些我们不想发布的更改。我回滚了测试分支中的一些文件,并注释掉了其他文件的部分。这些文件中的许多在开发分支中没有更改,因此就Perforce而言,它们已经被集成,可以继续使用了 显然,我可以跟踪变更列表并取消回滚这些文件。我还可以使用“-f”选项集成有问题的文件,以忽略集成历史记录 但我希望能找到一种“自动”完成的方法。我尝试将整个分支与“-f”集成,解析,然后还原未更改
有挂起的集成,而不是还原的
有没有办法让Perforce恢复挂起集成的未更改文件?我是否应该采取其他方法?您是否在“挂起的集成未还原”下尝试了以下步骤 已集成并已解析但没有内容或类型更改的文件仍将作为新版本提交,即使您在客户端规范中选择了“revertunchanged”,或使用“submit-f revertunchanged”。这种行为是故意的,但并不明显 同样,如果提交将更改文件的集成历史记录,则该文件将被视为已更改,即使没有内容更改。换句话说,对集成历史的更新被视为文件更改,就像内容、类型和属性更改一样 与“revertunchange”选项等效的命令行p4 revert-a提供了一些上下文。从p4帮助还原: -a标志仅还原打开进行编辑或集成的文件 和未更改或丢失。具有挂起的集成记录的文件 它们是开着的。当指定-a时,文件参数是可选的 例如:
$ p4 revert -a b
//depot/test/b#1 - has pending integrations, not reverted
$ p4 diff -sr | p4 -x- revert
//depot/test/b#1 - was integrate, reverted
如果用户担心在不更改内容的情况下集成文件,建议使用“p4 diff-sr | p4-x-revert”。例如:
$ p4 revert -a b
//depot/test/b#1 - has pending integrations, not reverted
$ p4 diff -sr | p4 -x- revert
//depot/test/b#1 - was integrate, reverted
如果有帮助,请告诉我。太棒了!非常感谢你!那么,如何对来自P4V的多个文件执行此操作?@MikhailOrlov您可以使用一个文件作为带有-x全局选项标志的参数,例如:“p4-x filename”。文件名将包含一个文件列表。请参见此处的答案:以下是如何在文档中使用“-x”标志的示例:只要添加该标志,只要解决了集成中的所有文件,就可以了。请不要在未先解决问题的情况下执行此操作。