当我尝试使用git am
对此进行修补时,考虑到perforce差异,它说“修补程序格式检测失败”。
如何从perforce获取更改并将其应用于git branch?
这是差异的前几行
==== //depot/a.c#162 - /asdf/a.c ====
4326a4327,4642
> /*
> *----------------------------------------------------------------------------
> *
> * --
答案 0 :(得分:5)
确保使用p4 diff -du
生成差异以获取unified diff format,这对patch
等工具效果更好,而且(我相信)是Git理解的唯一格式。
您可能还需要编辑补丁以取出Perforce语法;如您所见,文件名显示为//depot/a.c#162
,patch
和git apply
可能会将其解释为实际文件名; a.c#162
。如果修补程序中出现#162
部分,请尝试将其删除。
根据您应用修补程序的确切位置,您可能需要将-p1
传递给patch
或git apply
才能剥离前导/
或{ {1}}剥离整个主要目录。
答案 1 :(得分:0)