Perforce - 创建差异补丁文件以进行修订

Gar*_*ght 10 diff perforce p4v

在Perforce中,如何创建一个补丁文件,其中包含当前保存的文件中的更改,与已修订版本相比?GUI客户端或CLI客户端的说明会很棒.

我可以看到如何获得两个更改列表之间的差异,但不知道如何只是获取最后一个更改列表和文件的当前状态之间的差异.另外,我可以看到在GUI客户端中,我可以右键单击一个文件,然后从上下文菜单中选择"Diff Against Have Revision",它显示了我正在寻找的内容,但我无法弄清楚如何把它变成一个文件.

我基本上都在寻找与git diff <file> > patch.diffGit-land 相同的东西.

jam*_*lin 12

我认为p4 diff -du FILE > patch.diff应该做你想做的事.

  • 如果有新文件或许多文件(新文件没有差异,并且没有递归),这并没有真正解决生成补丁文件的问题. (5认同)
  • ...并且添加`-du`会产生统一的差异.谢谢. (2认同)
  • 如果已经设置了P4DIFF变量,则在Linux上不起作用。在这种情况下,您需要暂时取消设置:“`P4DIFF = p4 diff -du` _filename_” (2认同)

Swi*_*ect 5

单文件

p4 diff -du file > file.patch.diff

每个文件

p4 diff -du > patch.diff


Bud*_*dha 5

p4 diff 的问题是它没有考虑新文件。此外,您无法获取仅位于某个待定更改列表中的文件。

如果有待处理的变更列表,您实际上可以使用开源 perforce patcher 工具,该工具是我根据项目需要创建的。您可以直接从github的这个链接下载

如果您想查看源代码,请访问github repo

可以在此处找到该工具的文档