问题描述
我在 perforce 中有一个错误的集成更改列表.我想取消它,并更仔细地重做(并且可能以较小的增量).
I have a bad integration changelist in perforce. I want to back it out, and redo it more carefully (and possibly in smaller increments).
我使用 Perforce 的 rollback
命令恢复到以前版本的文件,但是当我尝试重做集成时,Perforce 声称没有什么可做的.显然,回滚只是还原文件,但对关联的集成相关元数据没有任何作用.因此,当我尝试重新集成时,Perforce 认为您之前已经集成了两个版本 - 现在无事可做".
I used Perforce's rollback
command to revert to a previous version of the files, but when I attempted to redo the Integration, Perforce claimed there was nothing to be done. Apparently, rollback simply reverts the files, but does nothing about the associated integration-related metadata. So when I try to re-integrate, Perforce thinks "you already integrated two versions ago - nothing to do now".
有什么方法可以撤消涉及集成的更改列表,并使仓库处于可以重新进行集成的状态?
Is there any way I can undo a changelist that involved integration, and leave the depot in a state where I can actually do the integration over again?
这是一个大型项目,集成了 2,000 多个文件,所以我真的不想被困在手动执行此操作中.
It's a large project, and integration was over 2,000 files, so I really don't want to be stuck doing this manually.
推荐答案
如您所见,回滚更改列表不会撤消"集成.集成记录在 perfroce 数据库中发生集成后一劳永逸地存储.
As you have seen, rolling back the changelist won't "undo" the integration. The integration records are stored once and for all after an integration happens in the perfroce database.
如果你想重新整合,你可以.您可以使用命令行中的-f"标志来强制集成,而无需考虑以前的集成历史记录.本质上,使用此标志将重新开始您的集成.如果您使用的是 p4v,则集成对话框中的高级选项"下有一个选项可以执行相同的操作.
If you want to do the integration over, you can. You can use the '-f' flag from the command line to force an integration without regard to previous integration history. Use of this flag will, in essence, start your integration over. If you are using p4v, there is an option under "advanced options" in the integration dialog that performs the same operation.
如果您只想重新整合某个修订范围(即从特定日期开始),请确保您也指定该范围.否则,如果您要重做所有集成,则应该很顺利.集成的帮助文件确实表明使用 -f 没有修订范围将强制 p4 resolve 在没有公共基础的情况下执行合并,因此也要注意这一点.如果您从源文件的所有修订版中完全集成重新开始,那么我认为这个警告将不适用.
If you want to reintegrate only a certain revision range (i.e. from a specific date), make sure that you specify that as well. Otherwise, if you are redoing all the integrations, you should be good to go. The help file on integrate does indicate that usage of -f without a revision range will force p4 resolve to perform merges without a common base, so be on the lookout for that as well. If you are starting over with a full integrate from all revisions of the source file, then this caveat won't apply I think.
HTH.
这篇关于如何在 Perforce 中撤消集成,并且仍然能够重做?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!