DiffLineCounter
概要
diff コマンドを使ってファイルの差分を調べ,変更行数を計上します.
ディレクトリ単位での指定も可能であり,
その場合は指定されたディレクトリ以下での相対パスが等しいファイル同士をそれぞれ比較します.
一方のみにしか存在しないファイルも指摘可能です.
ダウンロード
- 実行スクリプト(Unix環境用):
difflc
/
(Windows環境用)difflc.bat
- Jar ファイル(Unix/Windows共通): DiffLineCounter.jar(含ソースファイル)
Ver. 2.0(63KB)
- Apache Commons CLI より
commons-cli-1.2.jar を入手する
(http://commons.apache.org/cli/download_cli.cgi
からバイナリを取得)
インストール
- 二つの Jar ファイル DiffLineCounter.jar と commons-cli-1.2.jar
を適当なディレクトリに置く.
- 実行スクリプト difflc をエディタで開き,
DiffLineCounter.jar と commons-cli-1.2.jar
の設置パスを DIFF_LINE_COUNTER= と CLI= の部分に書く.
※絶対パスで書くこと.また,= の前後に空白を入れてはならない.
- 実行スクリプト difflc を適当なディレクトリに置き,
パスの通ったディレクトリに置くとコマンド感覚で使用可能である.
使い方
difflc [オプション] [比較対象1 比較対象2]
|
オプション
- -a :対応するファイルが存在しない場合でも出力する(ディレクトリ指定時).
(ファイルが追加された時は総変更行数 -1,ファイルが削除された時は総変更行数 -2)
- -c :CUI(コンソール)モードで動作する.この場合,比較対象1,2 は省略不可.
- -d opt: diff に渡すオプション opt を指定する(デフォルトは -bwB).
- -e ext: 比較対象ファイルの拡張子をカンマで区切って指定する(デフォルトでは java のみ).
- -o out: 計上結果の格納先 outを指定する(デフォルトは標準出力).
- -z :変更無しの場合でも変更行数 0 として出力する.
出力形式
ファイル名,比較対象1でのパス,比較対象2でのパス,総変更行数,追加行数,削除行数,変更行数
|
の繰り返しです.
ただし,変更行数は,変更前後で対応する行数が異なる場合は大きい方を採用しています.
また,総変更行数 = 追加行数+削除行数+変更行数です.
※Linux 上で実行する際に,対象ファイルの改行文字が Windows 形式(CR+LR)だとまれにエラーが出ることがあります.
(C) Copyright 2001 - 2011 Hirohisa AMAN (阿萬 裕久)