このパッチは、手で簡単に適用できるほど単純に見えます ( で始まる行を削除し、 で始まる-
行を追加します+
)。しかし、これは、パッチが完全に適用されないほどの変更がある場合にのみ必要です。
パッチ ファイルはさまざまな方法で生成できるため、さまざまな方法で適用することもできます。
diff -u a a.fixed > fix_compile.diff
patch < fix_compile.diff
diff -u dir1/a dir2/a > fix_compile.diff
patch -p1 < fix_compile.diff
diff -u dir1 dir2 > fix_compile.diff
patch -p1 < fix_compile.diff
修正されたファイルが階層の 6 つ下のディレクトリにある場合は、パッチを 6 つ上のディレクトリに適用するか、-p6
または同様のオプションを使用して無関係な先頭のディレクトリを削除する必要があります。
複雑に聞こえるかもしれませんが、パッチを適用するファイルが含まれるディレクトリにディレクトリを変更する場合は、通常patch < fix_compile.diff
、またはpatch -p1 fix_compile.diff
. パッチの一部が完全に適用され、一部が適用されない場合に備えて、最初にパッチを適用してみます。
patch --dry-run < fix_compile.diff
また
patch --dry-run -p1 < fix_compile.diff
動作するものを見つけたら、を削除し--dry-run
て適用し、コンパイルして、準備ができているかどうかを確認します。