2009年6月7日日曜日

パッチ (patch, diff) メモ

diff と patch の使い方メモ。

■ パッチファイルを作る

ファイル単位のパッチを作る場合は、以下のようにします。

$ diff -c FROMFILE TOFILE > PATCHFILE.patch 

ディレクトリ単位のパッチを作る場合は、以下のようにします。

$ diff -crN FROM_DIR TO_DIR > PATCHFILE.patch 

バイナリファイルが含まれる場合は、"-a --binary" を付けたほうが良いかも。

$ diff -crN -a --binary FROM_DIR TO_DIR > PATCHFILE.patch 

■ パッチを当てる

ファイルにパッチを当てるときは以下のようにします。

$ patch < PATCHFILE.patch

ディレクトリにパッチを当てるときは、適用したいディレクトリ上で以下のようにします。

$ patch -p1 < PATCHFILE.patch

-p オプションは相対ディレクトリオプション。
diff を取ったときと相対的に同じ位置にいる場合は -p0 を指定。
違う位置にいる場合は、指定個数分のプレフィックス(ディレクトリ)を取り除いてパッチを適用。

■ 2015/01/25 更新

"-a --binary" の記述追加。

● patch, 作成, パッチ, 作る, diff

0 件のコメント: