perfor diff to git

时间:2011-11-27 21:41:56

标签: git diff perforce

当我尝试使用git am对此进行修补时,考虑到perforce差异,它说“修补程序格式检测失败”。

如何从perforce获取更改并将其应用于git branch?

这是差异的前几行

==== //depot/a.c#162 - /asdf/a.c ====
4326a4327,4642
> /*
>  *----------------------------------------------------------------------------
>  *
>  *  --

2 个答案:

答案 0 :(得分:5)

确保使用p4 diff -du生成差异以获取unified diff format,这对patch等工具效果更好,而且(我相信)是Git理解的唯一格式。

您可能还需要编辑补丁以取出Perforce语法;如您所见,文件名显示为//depot/a.c#162patchgit apply可能会将其解释为实际文件名; a.c#162。如果修补程序中出现#162部分,请尝试将其删除。

根据您应用修补程序的确切位置,您可能需要将-p1传递给patchgit apply才能剥离前导/或{ {1}}剥离整个主要目录。

答案 1 :(得分:0)

使用git apply,或者直接使用patch(1),然后提交结果。