git apply确实没有输出,也没有修补任何东西

时间:2014-08-11 10:10:33

标签: git patch

我在这里使用git和应用补丁有点麻烦。

我正在尝试应用此修补程序:https://www.drupal.org/node/2309321

致该模块:https://www.drupal.org/node/2309089

我知道,那些都是Drupal链接,但这不是问题。您只需下载模块并将补丁放在同一个文件夹中即可。没有Drupal需要这个。

供参考:我将补丁命名为eck_test.patch

这是我到目前为止所尝试的:

git apply -v eck_test.patch

  

根本没有输出。


git apply -v --whitespace fix eck_test.patch

  

根本没有输出。


git am eck_test.patch

  

补丁格式检测失败。


我不知道,为什么这不起作用。

关于Sublime Text,两个行结尾都是相同的。

网上有很多关于此的话题,但我发现它们都不适合我。 我希望你有一些想法,因为git似乎,它不想帮助我。 :/

2 个答案:

答案 0 :(得分:4)

我有同样的症状。当我按照@martin在评论中的建议尝试patch -p1 --dry-run < [patch name].patch时,它提供了一些有用的输出:“Hunk#1 FAILED”。仔细观察补丁,我意识到补丁中存在冲突,git apply没有报告。 (补丁试图删除一行,但删除的行在补丁中与我的工作副本不同。)所以解决方案是修复补丁。

答案 1 :(得分:0)

我在MAC git项目中遇到了类似的问题。事实证明,对我来说,解决方案是在修补程序发生时将修补程序应用于同一文件夹(在您的Git项目中)。

例如,如果您执行&#34; git format-patch&#34;在一个存储库中的文件夹\ dirA \ dirB中,您必须在\ dirA \ dirB中的另一个存储库中应用该修补程序。运行&#34; git app&#34; at \ dirA会导致问题。