首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Perforce中撤消集成,并仍然可以重做?

如何在Perforce中撤消集成,并仍然可以重做?
EN

Stack Overflow用户
提问于 2011-03-05 03:12:43
回答 3查看 13.9K关注 0票数 30

我在perforce中有一个糟糕的集成更改列表。我想收回它,并更仔细地重做(可能是以较小的增量)。

我使用Perforce的rollback命令恢复到以前版本的文件,但当我尝试重做集成时,Perforce声称没有什么可做的。显然,rollback只是还原文件,但不会对关联的集成相关元数据执行任何操作。因此,当我尝试重新集成时,Perforce认为“你已经集成了两个版本--现在没有什么可做的”。

有没有什么办法可以撤销涉及集成的更改列表,并将仓库留在可以重新进行集成的状态?

这是一个很大的项目,集成超过2,000个文件,所以我真的不想被困在手动做这件事上。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-03-05 03:43:24

正如您所看到的,回滚更改列表不会“撤销”集成。在perfroce数据库中发生集成之后,集成记录将被一次性存储。

如果你想重新做一次集成,你可以。您可以从命令行使用'-f‘标志来强制集成,而不考虑以前的集成历史。从本质上讲,使用此标志将开始您的集成。如果您使用的是p4v,在集成对话框中的“高级选项”下有一个执行相同操作的选项。

如果您只想重新集成某个修订范围(即从特定日期开始),请确保您也指定了该范围。否则,如果你要重做所有的集成,你应该可以正常工作了。integrate上帮助文件指出,没有修订范围的-f的使用将强制p4解析器在没有公共基础的情况下执行合并,因此也要注意这一点。如果你是从源文件的所有修订版完全集成开始的,那么我认为这个警告将不适用。

HTH。

票数 37
EN

Stack Overflow用户

发布于 2012-11-08 22:41:20

一种可能性(尽管不推荐)是"p4擦除“集成文件(即目标文件)的头修订。重要的是,这些文件在随后的更改中还没有被修改。

只有具有适当权限(我认为是超级)的perforce用户才能这样做。

由于这会删除集成的所有痕迹(包括差异、历史记录、所有元数据),因此不建议这样做。这是无法撤销的。

我只是为了完整性而在这里提到这一点。如果你认为你需要这样做,要非常小心,不要犯错。

票数 2
EN

Stack Overflow用户

发布于 2014-06-09 23:46:10

我建议您将强制集成磨练为仅包含在特定集成中的文件列表

p4 describe ChangeList | grep "^...“

否则,您可能会影响比预期更多的文件(提交后已更改的任何文件),或者意外地在更大范围内执行操作。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5198180

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档