Perforce:如何在分支之间获取所有更改文件的差异?

3

我有两个分支,一个是主干,另一个是rcat。我已经在rcat上工作了一段时间(多个CLN/Submits),想要将其合并到主干中。但是,在合并之前,我需要提交差异进行代码审查。

我想获得主干和rcat分支之间的统一差异。我已经尝试过:

p4 diff2 -duw //depot/my/project/path/projectname/mainline/...  //depot/my/project/path/projectname/rcat/... >> diff.txt

这不会给我rcat中添加的文件,并列出一堆未更改的文件。如何获取差异,以便:

  1. 有现有文件的更改
  2. 有新文件
  3. 忽略未更改的文件

谢谢!

1个回答

6

在我参与使用Perforce的团队中,我们通常会从开发分支合并到主干分支,然后在主干分支上对待审核的变更列表进行代码审查。以您给出的示例为例:

p4 integrate //depot/my/project/path/projectname/rcat/... //depot/my/project/path/projectname/mainline/...
p4 resolve -am
# Deal with any merge conflicts
p4 diff -du > diff.txt
diff.txt文件将显示现有文件的更改,并显示已删除文件的内容为空,但不会实际显示新文件。(我的团队使用Code Collaborator进行代码审查,该工具可以处理添加的文件。)
或者,如果您手头有类Linux的diff命令,您可以尝试以下操作(假设您已将mainline / ...映射到mainline目录中,并将rcat / ...映射到rcat目录中):
diff -Nur mainline rcat > diff.txt

该功能将处理已删除的文件和添加的文件,符合您的预期。(您可能希望先从mainline集成到rcat,这样显示的更改仅限于对rcat所做的更改。)


3
我最终对比了两个目录的普通差异。 - Rohit

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接