git:补丁不适用

我有一个名为my_pcc_branch.patch的补丁。

当我尝试应用它时,我得到以下消息:

$ git apply --check my_pcc_branch.patch warning: src/main/java/.../AbstractedPanel.java has type 100644, expected 100755 error: patch failed: src/main/java/.../AbstractedPanel.java:13 error: src/main/java/.../AbstractedPanel.java: patch does not apply 

这是什么意思?

我该如何解决这个问题?

来自msysgit@googlegroups.com邮件列表的Johannes Sixtbuild议使用以下命令行参数:

 git apply --ignore-space-change --ignore-whitespace mychanges.patch 

这解决了我的问题。

git apply --reject --whitespace=fix mychanges.patch为我工作。

这个命令将应用这个补丁而不是解决它,把坏的文件保存为*.rej

 git apply --reject --whitespace=fix mypath.patch 

你只需要解决它们。 一旦解决运行:

 git -am resolved 

它发生在混合UNIX和Windows git客户端,因为Windows没有真正的“x”位的概念,所以您在Windows下的rw-r--r-- (0644)文件的签出是由msys POSIX层是rwx-r-xr-x (0755)。 git认为模式差异基本上与文件中的文本差异相同,所以你的补丁不能直接应用。 我认为你唯一的好select是将core.filemode设置为false (使用git-config )。

这里有一个msysgit问题与一些相关的信息: http : //code.google.com/p/msysgit/issues/detail? id=164(重新路由到archive.org的2013年12月3日副本)