diffとpatchの使い方

複数ファイルがある可能性のある2つのディレクトリaとbがあったとして、そのdiffをする方法。

diff -urN a b > diff.diff

aが編集前、bが編集後のディレクトリとして、編集内容を表すdiff.diffがとれる。拡張子をdiffにすると、Emacsでカラーで表示されるようだ。オプションrはディレクトリの中にディレクトリがある場合に対応。オプションNは追加したファイルの内容もdiff.diffに記録するため。


このdiff.diffをcというディレクトリに適用する方法。

patch -u -p1 -d c < diff.diff

cd c としなくてもいいように -d で適用するディレクトリを指定する。


diffのときにオプションNをつけないと、bにあった新規ファイルがcに追加されない。