異なるディレクトリに2つのファイルを使用してパッチを適用しようとしています。出力ファイルも別のディレクトリになければなりません。最初のファイルは/var/local/documents/document.xmlで、パッチファイルは/var/local/patches/patch.diffにあり、出力ファイルは/var/localに作成します。 /final/final.xml。ファイルは同じディレクトリに配置されているLinuxの異なるディレクトリにあるファイルを使用してpatchコマンドを適用する
、このコマンドが機能:
patch document.xml -i patch.diff -o final.xml
しかし、彼らは別のディレクトリにあると私は、次のコマンドを使用しようとすると:私は取得
patch /var/local/documents/document.xml -i /var/local/patches/patch.diff -o /var/local/final/final.xml
を次のエラーが発生しました:
(Stripping trailing CRs from patch.)
patching file {file}
Hunk#1 FAILED at 20.
1 out of 1 hunk FAILED -- saving rejects to file {file}
私はどこかで、対応するために-dと-pを使用してくださいCTLYディレクトリと私は、私はそれを行うべきか見当もつかない...
ありがとうございました:)パッチファイルが/var/local/out/upload/patch.patchで、最終ファイルと元のファイルが両方とも/ var/local/upload/example_word/wordの場合、patchコマンドの外観はどうでしょうか? /document.xml? –
あなたが '/ var/local/upload/example_word/word'にあると考えると、' patch -o final.xml -p 4 document.xml var/local/out/upload/patch.patch'となります。 [var] + [local] + [out] + [upload] == 4したがって '-p 4' –
または' patch -o final.xml -p 5 document.xml <../../../ [..] + [..] + [..] + [out] + [upload] == 5)を相対パスで指定します。 –