性能差异到git
当我尝试使用性能差异到git,git,diff,perforce,Git,Diff,Perforce,当我尝试使用git-am修补此问题时,它会显示“修补格式检测失败” 如何从perforce获取更改并将其应用到git分支 这是diff的前几行 ==== //depot/a.c#162 - /asdf/a.c ==== 4326a4327,4642 > /* > *---------------------------------------------------------------------------- > * > * -- 直接使用,或使用失败,然
git-am
修补此问题时,它会显示“修补格式检测失败”
如何从perforce获取更改并将其应用到git分支
这是diff的前几行
==== //depot/a.c#162 - /asdf/a.c ====
4326a4327,4642
> /*
> *----------------------------------------------------------------------------
> *
> * --
直接使用,或使用失败,然后提交结果。确保使用生成差异以获得,这在使用诸如和之类的工具时效果更好,并且(我相信)是Git理解的唯一格式 您可能还需要编辑修补程序以删除Performce语法;如您所见,文件名显示为
//depot/a.c#162
,而patch
和git apply
可能解释为实际文件名<代码>空调162。如果补丁中出现#162
部分,请尝试删除该部分
根据应用补丁的具体位置,您可能需要将
-p1
传递到补丁
或git apply
,以剥离前导的/
,或-p2
以剥离整个前导目录。为什么不,您会遇到什么错误?你的Performce diff工具是什么?为什么它没有生成正确的修补程序格式?我做了p4 diff>文件和修补程序-p0文件的前10行左右。您是否尝试了补丁-p1
?您似乎有不想使用的额外文件路径信息。默认情况下,perforce和git的diff输出不兼容。这将不起作用检查p4 diff
是否有创建统一diff的选项。-u
可能值得一试。您知道如何让使用descripe
生成的diff被patch
识别吗?您好@Brian,是否有任何命令可以快速删除所有\N
。谢谢@dien没有Perforce在我面前检查确切的格式,但是类似于sed-Ee的|(//.*)#[0-9]+|\1 |的输出。patch
应该可以做到这一点。这是相当不精确的,所以在尝试应用补丁之前,请检查它是否产生了合理的结果。