gpt4 book ai didi

merge - Perforce:如何获得分支之间所有已更改文件的差异?

转载 作者:行者123 更新时间:2023-12-04 02:19:26 25 4
gpt4 key购买 nike

我有两个分支 ma​​inlinercat。我已经在 rcat 上工作了一段时间(多个 CLN/提交)并且想合并到主线中。但是,在我合并之前,我需要提交差异以供代码审查。

我想获得主线和 rcat 分支之间的一个统一差异。我试过:

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

这没有给我在 rcat 中添加的文件,还列出了一堆未更改的文件。我如何获得差异:

  1. 对现有文件进行了更改
  2. 有新文件
  3. 忽略未更改的文件

谢谢!

最佳答案

在我工作过的使用 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 所做的更改。)

关于merge - Perforce:如何获得分支之间所有已更改文件的差异?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9589080/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com