如何获取两次修订之间的所有变更列表(包括集成的变更列表)?

How to get all changelist (including integrated ones) between two revision?

我需要列出所有 两次修订之间的 Steam 变更列表。

p4 changes 命令可以列出我们在两次修订之间提交到分支的所有变更列表。

p4 changes //depot/stream/...@from_revision,to_revision

虽然此命令效果很好,但它只会显示直接提交到该分支的更改列表。来自其他分支的 merged/integrated 的更改列表将丢失。

p4 changes 命令确实提供了一个 -i 选项来包含集成的变更列表。

p4 changes -i //depot/stream/...@from_revision,to_revision

但是,-i 选项和版本说明符似乎不能很好地协同工作,因为我得到的版本超出了范围。更准确地说,from_revision 之前的修订没有被正确排除,而奇怪的是,to_revision 之后的修订按预期被过滤掉了!

在此问题上的任何帮助表示赞赏! 谢谢!

如果您想要在特定范围内对所有流进行更改,请不要使用文件规范:p4 changes @from_change,to_change

当您使用“-i”选项时,它会显示您对指定范围内的更改做出了贡献(通过集成)。贡献的变化不受指定范围的限制,因为这通常会破坏目的——例如如果更改从 //depot/source/... 集成到 //depot/target/... 而您 运行 p4 changes -i //depot/target/...,“-i”选项的全部意义在于向您显示 //depot/source/... 更改不属于 //depot/target/... 规范,因此文件规范 应用于 -i 发现的源更改。无论文件参数是否附加了修订说明符,都适用完全相同的逻辑。

如果您想要获得对特定范围有贡献的更改,但又想进一步限制有贡献的更改,最好的选择是 post-processing -- 运行 p4 changes -i然后 sort/limit 输出包含您感兴趣的范围内的更改。