Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
有没有办法让Perforce恢复未更改的待集成文件?_Perforce_P4v - Fatal编程技术网

有没有办法让Perforce恢复未更改的待集成文件?

有没有办法让Perforce恢复未更改的待集成文件?,perforce,p4v,Perforce,P4v,我准备将我们的“开发”分支集成到我们的“测试”分支中,为即将发布的版本做准备 对于我们的上一个版本,在初始集成之后,我们确定有一些我们不想发布的更改。我回滚了测试分支中的一些文件,并注释掉了其他文件的部分。这些文件中的许多在开发分支中没有更改,因此就Perforce而言,它们已经被集成,可以继续使用了 显然,我可以跟踪变更列表并取消回滚这些文件。我还可以使用“-f”选项集成有问题的文件,以忽略集成历史记录 但我希望能找到一种“自动”完成的方法。我尝试将整个分支与“-f”集成,解析,然后还原未更改

我准备将我们的“开发”分支集成到我们的“测试”分支中,为即将发布的版本做准备

对于我们的上一个版本,在初始集成之后,我们确定有一些我们不想发布的更改。我回滚了测试分支中的一些文件,并注释掉了其他文件的部分。这些文件中的许多在开发分支中没有更改,因此就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”标志的示例:只要添加该标志,只要解决了集成中的所有文件,就可以了。请不要在未先解决问题的情况下执行此操作。