git: patch does not apply
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
これはどういう意味ですか?
この問題を解決するにはどうしたらいいですか?
240
3
msysgit@googlegroups.com メーリングリストのJohannes Sixt氏は、以下のコマンドライン引数を使用することを提案しています。
これで私の問題は解決しました。
git apply --reject --whitespace=fix mychanges.patch`でうまくいきました。
これは UNIX と Windows の git クライアントが混在しているときに起こります。Windows には "x" ビットの概念がないので、Windows で
rw-r--
(0644) のファイルをチェックアウトすると msys の POSIX レイヤーによってrwx-r-xr-x
(0755) に "promoted" されてしまいます。git はこのモードの違いをファイルのテキストの違いと基本的に同じだと考えるので、あなたのパッチは直接適用されません。 ここでの唯一の良い方法は、core.filemode
をfalse
に設定することだと思います (git-config
を使用します)。msysgit issueに関連する情報があります。 http://code.google.com/p/msysgit/issues/detail?id=164(archive.orgの2013年12月3日のコピーにリルートされました。)