如何获取已集成的变更列表清单?

时间:2019-01-11 16:47:16

标签: version-control perforce

perforce中有一个interchanges命令,该命令列出了两个分支之间的变更列表,这些变更列表尚未使用branchspec进行集成。

是否有一些东西显示已集成的变更列表,例如interchanges的反面,并且还可以与branchspec一起使用?

对终端性能而非p4v更感兴趣。

谢谢

2 个答案:

答案 0 :(得分:3)

我推荐的方法是在源上执行p4 changes,在源和目标之间运行p4 interchanges,以获取尚未集成的源更改,并比较两者以查找那些已集成。

我还将介绍不建议使用的其他两种方法,因为它们比较难(但是您可能会发现其中的元素很有用):

  • 在目标上运行p4 changes -i,然后运行许多p4 files命令以将其过滤到源于源的更改。
  • 运行p4 integrated -b branch,运行大量p4 changes命令以将集成记录转换为变更列表范围,然后将它们排序为统一列表。

答案 1 :(得分:0)

要查找更改列表是否已在perforce中集成到另一个分支中并不容易。 “ p4互换”可能不会报告所有内容,因为它依赖于元数据,并且可能“认为”某些变更列表已集成。

请考虑将CL10合并到分支B,然后通过“ p4编辑”而不是B上的“ p4撤消”手动还原更改的情况。然后,如果您对CL10运行“ p4集成”,则perforce将返回“已经”集成”消息,即使代码不再存在(但可能需要)。

也许您的问题的解决方案可能涉及将来自Sam上面回答的思想,“ p4互换”以及在循环中运行“ p4集成[-f]”以确认确实集成了一组变更列表。这是一项工作,因为需要考虑“ p4 resolve”和“ p4 diff / diff2”的输出。

我的观点是:不要仅仅依靠“ p4互换”。