技術的雑談-2つのディレクトリ内にあるソースを比較する
環境
一応Fedora Core3のshで試したけど、他のDistributionやOSによっては若干違いがあるかもしれない。
目的
- Javaなどで開発をしている時に同じようなソースツリーを2箇所に作ってしまい、別々に変更を加えてしまった。
- 両方にどんな差があるのかわからないので調べたい。
- でも、1つ1つ調べるにはFileが多すぎる!
方法
diffコマンドを使いましょう。
以下のコマンドで2つのディレクトリ配下のファイルをテキスト比較できます。
diff -rbcBN 比較元ディレクトリ 比較先ディレクトリ
また、CVSなどでcheck outしたソースツリーだった場合、「CVS」ディレクトリとかその中まで比較されるのはうっとおしいですよね?
また、CVSで$Id:$タグを使っている時は、2つのディレクトリがそれぞれ別のCVSソースツリーだったりした場合、バージョンが異なる事が多いので、そこは飛ばしたいものです。
そんな時は、
diff -rbcBN -I'^.*$Id: .*$' -x'CVS' 比較元ディレクトリ 比較先ディレクトリ
とするとCVSディレクトリと$Id:$タグの差分は表示しなくなります。
あとはコレの出力自体をファイルにでもリダイレクトしてあげると便利でしょう。
履歴
2005/8/31 -- 初版
技術的雑談へ戻る