Perforce 获取尚未集成到特定分支中的变更列表列表

Perforce 获取尚未集成到特定分支中的变更列表列表,perforce,perforce-integrate,Perforce,Perforce Integrate,如果我有分支A和分支B。分支B是从分支A分支出来的。我们定期将分支B的更改集成回分支A。是否有p4命令列出尚未集成到分支A的分支B更改列表?考虑到变更列表的文件不一定局限于一个分支,我可以想出一些不可能做到这一点的原因,但我希望在这里做到最好 我发现了这个问题: 。。。这与我想要的正好相反,但我要明确指出,有多种方法可以使用多个命令来实现这一点。我可以想出几种方法来使用多个命令来获得我想要的东西,但在我走这条路之前,我想确定没有简单的方法可以做到这一点。您想使用“interchanges”命令。

如果我有分支A和分支B。分支B是从分支A分支出来的。我们定期将分支B的更改集成回分支A。是否有p4命令列出尚未集成到分支A的分支B更改列表?考虑到变更列表的文件不一定局限于一个分支,我可以想出一些不可能做到这一点的原因,但我希望在这里做到最好

我发现了这个问题:


。。。这与我想要的正好相反,但我要明确指出,有多种方法可以使用多个命令来实现这一点。我可以想出几种方法来使用多个命令来获得我想要的东西,但在我走这条路之前,我想确定没有简单的方法可以做到这一点。

您想使用“interchanges”命令。目前不支持该工具(从10.2版开始),但“p4帮助交换”将为您提供该工具的命令行用法(目前仅在命令行上可用)。我不记得这个命令引入的具体版本

p4 interchanges -b mybranch
将报告分支规范定义的未整合更改。使用'-r'和使用'p4 integ'一样反转分支映射。如果没有分支规范,也可以在命令行上提供文件规范:

p4 interchanges //depot/main/... //depot/RelA/...
将报告从main到RelA的未整合变更

与任何未记录/不支持的功能一样,您需要小心输出。有些情况可能会导致返回不准确的信息。然而,我在指挥方面的经验非常丰富。Laura Wingerd在《实用性能》一书中简要描述了该命令。我的观点是,这个命令很可能很快就会进入一般帮助


希望这有帮助。

交换命令显示结果如下所示

更改#日期更改列表编号由#人员#工作区#描述更改

如果需要显示选择性列以进行进一步处理(生成报告)。您可以在Linux/Unix box上尝试下面的方法

p4 interchanges //depot/branch1/... //depot/branch2/... | awk '{print $2"|"$4"|"$6"|"substr($0,index($0,$7)) }' 

此命令的弱点在于使用cherry拾取的集成。它将报告它们仍然悬而未决。您可以通过对结果进行预览集成来过滤这些内容,不过这会增加一些时间。我上面提到的问题在12.1及以上版本中不存在。请尝试详细说明您的答案。