わかりました、私はstackoverflowで見つけることができるすべての答えを試しましたが、明らかに私の問題を解決することができるようには見えません。 SVNで作成したパッチをgitリポジトリに適用したい。どうやらそれを行う最も簡単な方法は 'git apply'を使用することですが、それはうまくいかないようです。
$ git apply --ignore-space-change --ignore-whitespace < xxx_parser.patch
<stdin>:10: trailing whitespace.
FORCE_LA_CHECK = false; stdin:23: trailing whitespace.
<stdin>:79: trailing whitespace
.
.
.
.
error: pmd/grammar/JspParser.jjt: No such file or directory
error: patch failed: pmd/pom.xml:251
error: pmd/pom.xml: patch does not apply
これはxxx_parser.patchの内容です:
$ head xxx_parser.patch Index: etc/grammar/JspParser.jjt
--- etc/grammar/JspParser.jjt (revision 7704)
+++ etc/grammar/JspParser.jjt (working copy)
今なぜそれはそれがファイルpmd/grammar/JspParser.jjtを見つけることができないと文句を言うのですか?
パッチのパスは適切なディレクトリを指しています。
SVNが生成したパッチをgitに適用する際にいくつかの問題がありました。 patch
コマンドを使用してSubversionパッチを直接適用することをお勧めします。gitを使用して、そのパッチが正常に適用されたことを確認してください。
$ patch -p0 < xxx_parser.patch
$ git diff
コマンドラインでpatch
を実行可能コマンドとして使用すると、@ emcconvilleの回答が機能します。
ほかの人のため:
SVNリポジトリに移動
svn diff --git >> gitFormat.patch
(このファイルをコピーする)gitリポジトリから
git apply gitFormat.patch