パッチを適用しようとしていますが、git apply patchを実行してもエラーは発生しません。
sashoalm@SASHOALM-PC /c/Workspace/tesseract-git/api (master)
$ git apply ../../commit-d0d9477
sashoalm@SASHOALM-PC /c/Workspace/tesseract-git/api (master)
$
ご覧のとおり、エラーメッセージは表示されません。しかし、履歴を開くと何もコミットされず、インデックスは空です。 git apply
コマンドを発行していないようです。
Googleにエラーがないので、これをトラブルシューティングする方法がわかりません。
編集:言うのを忘れていましたが、バージョン管理なしでソースを取得し、独自の空のgitリポジトリを作成して、いくつかのコミットを行ったTesseractのリポジトリからパッチを移植しようとしています。後でgit svn
を使用してTesseractリポジトリのクローンを作成しましたが、今はそこにパッチを移動しようとしています。
問題をグーグルで探しているときにこれを見つけました: http://data.agaric.com/git-apply-does-not-work-from-within-local-checkout-unrelated-git-repository
git apply
は、Gitバージョンのサイト内にあるモジュールにパッチを適用している場合など、gitリポジトリのローカルチェックアウト(パッチが作成されたプロジェクト用のチェックアウト以外)で使用された場合、何も失敗しません。コントロール。使用する
patch -p1 < path/file.patch
代わりに。
B_の答えに加えて、git diff --no-prefix
は、patch
で-pフラグを使用する必要がないことを意味します。あなたは間違っているようです、少なくともpatch
のバージョンではここにあります(2.5)。-pフラグは-p0と同じではありません。 -p0は機能します。