我准备整合我们的" Dev"分支到我们的测试"分支准备即将发布。
对于我们的上一个版本,在初始集成之后,我们确定有一些我们不想发布的更改。我在Testing分支中回滚了一些文件,并注释掉了其他文件的部分内容。这些文件中的许多文件在Dev分支中没有变化,因此就Perforce而言,它们已经集成并且很好用。
显然,我可以跟踪更改列表并取消回滚这些文件。我还可以将违规文件与" -f"忽视整合历史的选项。
但是我希望找到一种方法来自动完成这个&#34;#34;。我尝试将整个分支与&#34; -f&#34;,解析,然后还原未更改的文件进行集成,但这只是给出了消息:<filename> has pending integrations, not reverted
。
有没有办法让Perforce恢复待处理集成的未更改文件?我还有其他方法吗?
答案 0 :(得分:17)
您是否尝试过“未恢复的待处理集合”下的以下步骤?
http://answers.perforce.com/articles/KB_Article/Reverting-Unchanged-Files
集成和解决但没有内容或类型更改的文件仍将作为新版本提交,即使您在客户端规范中选择了“revertunchanged”,也可以使用“submit -f revertunchanged”。这种行为是设计的,但并不明显。
同样,如果提交会更改文件的集成历史记录,那么即使没有内容更改,该文件也会被视为已更改。换句话说,对集成历史记录的更新被视为文件更改,就像内容,类型和属性更改一样。
命令行等效于'revertunchanged'选项,p4 revert -a,提供了一些上下文。从p4帮助还原:
-a标志仅还原打开以进行编辑或集成的文件 并且没有变化或缺失。具有待处理集成记录的文件 保持开放。指定-a时,文件参数是可选的。
例如:
$ p4 revert -a b
//depot/test/b#1 - has pending integrations, not reverted
建议用户关注集成文件而不更改内容,请使用'p4 diff -sr | p4 -x-还原'。例如:
$ p4 diff -sr | p4 -x- revert
//depot/test/b#1 - was integrate, reverted
如果有帮助,请告诉我。