在 P4 中,如何使用命令检查提交到一个分支的更改是否也提交到另一个分支



我想找出一个 p4 命令,可以从另一个仓库分支中提交的 cl 中找到在库分支中提交的 cl。

喜欢-

如果 CL 123 已提交到分支//code/v1.0/files/...

并且相同的代码更改也提交给了另一个分支//code/v5.0/files/...

我可以从 CL 123 的第二分支中找到 CL 吗?

有几种不同的方法;哪一种最简单将取决于您正在做的事情的确切上下文/要求。

如果您对特定的代码行而不是元数据感兴趣,p4 annotate是最好的方法。 使用p4 describe 123查看 123 中更改的代码行,然后p4 annotate -c v5.0/(file)在 v5.0 中找到相同的代码行,并查看哪些更改列表将它们引入该分支。 即使手动复制更改而不是使用 Perforce 的合并命令,此方法也有效。

如果要跟踪集成历史记录(即元数据(而不是确切的代码行(可能在代码行之间合并的过程中进行了编辑,使annotate方法不起作用(,最简单的方法是使用 P4V 中的修订图工具,该工具可让您直观地检查文件的分支历史记录; 您可以从更改 123 中选择修订并使用"突出显示祖先和后代"(突出显示祖先和后代("工具,以查看它在其他代码行中连接到哪些修订/更改列表。 这样就可以轻松查看涉及多少个集成步骤、谁执行了这些步骤、何时发生、中间是否有编辑等上下文。

如果您想使用元数据,但正在尝试更自动化的解决方案,changes -i是一个很好的工具。 这将显示哪些变更列表通过集成包含在另一个变更列表中,因此您可以p4 changes -i @123,123查看促成变更 123 的所有变更的列表。 另一方面(在 v5.0 中查找 123 贡献的变更列表(,您可以迭代执行此操作;对v5.0代码行中的每个变更列表N运行p4 changes -i @N,N,并查看其中哪些在输出中包含 123(可能不止一个(。

最新更新