我想知道有一个 p4 命令可以从另一个仓库分支中提交的 cl 中找到在一个仓库分支中提交的 cl。
喜欢 -
如果 CL 123 已提交到分支 //code/v1.0/files/...
并且相同的代码更改也提交到另一个分支 //code/v5.0/files/...
我可以在 cl 123 的第二个分支中找到 cl 吗?
我想知道有一个 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
方法不起作用),最简单的方法是使用 Revision P4V 中的图形工具,可让您直观地检查文件的分支历史;您可以从更改 123 中选择修订,并使用“突出显示祖先和后代”工具来查看它在其他代码行中连接到哪些修订/更改列表。这样可以很容易地查看涉及多少集成步骤、谁执行它们、何时发生、中间是否有编辑等的上下文。
如果您想使用元数据但您正在尝试更自动化的解决方案,changes -i
这是一个很好的工具。这将向您显示哪些更改列表通过集成包含在另一个更改列表中,因此您可以p4 changes -i @123,123
查看促成更改 123 的所有更改的列表。另一方面(在 v5.0 中查找 123 贡献的更改列表),您可以迭代地做到这一点;为代码行中的p4 changes -i @N,N
每个更改列表运行,并查看其中哪些在输出中包含 123(可能不止一个)。N
v5.0