パッチの作り方/当て方

2010年10月23日

はじめに

あるプログラムのオリジナル版と修正版との差分のことを、パッチという。パッチをプログラムのオリジナル版に「当てる」と、修正版のプログラムができあがる。この仕組みを提供するのが diff コマンドと patch コマンドである。以下では diff と patch によるパッチの作り方/当て方を説明する。

パッチを作る

あるプログラムのソースコードがディレクトリ pkg にあり、その修正版がディレクトリ pkg2 にあるとする。パッチを作るには以下のようにする。

$ diff -ur pkg pkg2 > pkg.patch

pkg.patch がパッチファイルになる。名前はなんでもよい。

パッチを当てる

プログラムのオリジナル版のソースコードがディレクトリ pkg にあるとすると、これに上で作ったパッチを当てるには以下のようにする。

どこで当てるかによってオプションが変わる。pkg と pkg.patch が同じディレクトリにある場合は次のようにする。

$ ls
pkg pkg.patch

$ patch -p0 < pkg.patch

pkg.patch が pkg の中にある場合は次のようにする。

$ cd pkg
$ patch -p1 < pkg.patch