俺#

新潟市でIT業を営むおっさんのブログ。

diffとpatch

ソースコードのパッチを作ったり充てたりできる。初めて使ってみた(^^;

1)作り方

diff -c dir1/dir2/test.cpp dir1/dir2/test.cpp.new > test.patch

「test.cpp」がオリジナルのファイル、「test.cpp.new」が修正済みのファイル。パッチ作成時には修正済みのファイルのファイル名を変え、オリジナルはそのままのファイル名にするのがミソ。

diff -c dir1/dir2/test.cpp.old dir1/dir2/test.cpp > test.patch

これは罠にハマった例。オリジナルが「test.cpp.old」で、修正済みが「test.cpp」なのだが、これでは「dir1/dir2/test.cpp.old」を更新するためのパッチファイルになっちゃう。修正作業中は普通こうなってるよな(^^;

2)充て方

patch -p0 < test.patch

パッチ作成時の相対パスがそのまま有効。便利便利:-)