Perforce:如何查找分支中所做的更改

时间:2017-01-20 01:26:06

标签: perforce

这是情景 -

  
      
  1. 开发分支是从主线创建的,有数千个   其中的文件
  2.   
  3. 修改了几千个文件。
  4.   
  5. 主线的变化是“p4整合”到分支机构。   希望集成始终包括完整的主线   已知良好的标签,但我不确定这个
  6.   
  7. 重复步骤2和3未知次数 - 让我们猜测   十几个集成,可能还有1000个或更多的变化,   通常是已修改的文件
  8.   

我现在处于试图对此进行编码审查的痛苦位置。

是否有任何命令可以帮助我获取上次集成到它的版本和分支中的版本之间的每个修改文件的差异?

或者我需要写:

  
      
  1. 一个脚本,用于识别所有本地更改的文件。
  2.   
  3. 将在上面的列表中找到每个文件的集成点的脚本
  4.   
  5. 另一个脚本将使用(2)清除(1)文件中没有净更改的列表
  6.   
  7. (2)上的包装器将发出适当的p4 diff2命令
  8.   

FWIW,我基本上知道如何手动执行此操作,逐个文件。这是令人生畏的规模。此外,为了响应代码审查反馈,仍然会有更改进入分支,所以我可能会重复重新创建我的列表。

1 个答案:

答案 0 :(得分:1)

如果您知道主线中已知良好的标签是用于进行最后一次集成的,那么这应该只是:

p4 diff2 main/...@good-label dev-branch/...

因为对于每个文件“最后集成的版本”将是@ good-label。未经本地修改的文件将没有任何差异,因此没有特别需要将它们过滤掉。

FWIW如果我在你的位置我将使用“p4 ichanges dev-branch / ... main / ...”并通过更改列表,因为当每个都在上下文中时差异更有意义它的更改列表,而不是查看每个文件中的一个怪物差异,每个文件包含十几个不相关的更改。