如何在两个版本之间获取所有更改列表(包括集成的列表)?

时间:2018-04-12 00:52:25

标签: perforce p4v

我需要在两个修订版之间列出所有更改列表。

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

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

虽然此命令运行良好,但它只会显示直接提交到该分支的更改列表。从其他分支合并/集成的变更列表将丢失。

p4更改命令确实提供了 -i 选项以包含集成的更改列表。

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

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

在这个问题上有任何帮助! 谢谢!

1 个答案:

答案 0 :(得分:1)

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

使用" -i"选项它显示您(通过集成)对您指定的范围内的更改进行更改。贡献的变化不受规定范围的限制,因为这通常会使目的失败 - 例如如果更改已从//depot/source/...整合到//depot/target/...并且您运行p4 changes -i //depot/target/...,那么" -i"选项是向您显示超出//depot/source/...规范的//depot/target/...更改,因此文件规范应用于-i发现的源更改。无论是否附加了文件参数的修订说明符,都应用完全相同的逻辑。

如果您希望获得有助于特定范围的更改,但您希望进一步限制贡献更改,则最佳选项是后处理 - 运行p4 changes -i,然后对输出进行排序/限制以包含更改来自您感兴趣的范围。