WindowsでCLOC使って修正箇所の行数を数える
修正の規模がどれくらいか?ってので、ソースコードを何行変更したかってのをCLOC(http://cloc.sourceforge.net)ってのをとりあえず使ってみた。
変更前と変更後で変更のあった行数を集計する。
cloc --diff --by-file source_dir_before source_dir_after > diff.txt
diff結果が出力されるので*1、
---------------------------------------------------------------- File blank comment code ---------------------------------------------------------------- source_dir_before/com/sample/Sample.java same 0 26 19 modified 0 0 0 added 0 0 0 removed 0 0 0
あとはこれをサクラエディタとかのマクロ組んでExcelのフォーマットに合うように整形して、貼り付けてピボットテーブルとかでなんやかんやして終わり。
変更前と変更後で変更のあったファイル数を集計する。
ファイル毎のdiffじゃなくて全体的な情報(何個のファイルが変更されたの?とか)の場合は、--by-fileオプションを外して実行する。
cloc --diff source_dir_before source_dir_after > diff.txt
実行すると、
------------------------------------------------------------- Language files blank comment code ------------------------------------------------------------- XML same 3 0 0 237 modified 0 0 0 0 added 0 0 0 0 removed 0 0 0 0 Java same 581 0 42284 54479 modified 21 0 274 498 added 3 112 280 361 removed 0 11 154 604 ------------------------------------------------------------- SUM: same 584 0 42284 54716 modified 21 0 274 498 added 3 112 280 361 removed 0 11 154 604 --------------------------------------------------------------
いろんなフォーマットで出力可能になってるんだけども*2diffをとる場合は出力フォーマットの指定が効いてないみたい。
なので、サクラエディタのマクロで無理やり整形したのでdiffとって変更された行の集計していい感じのフォーマットに出力できるツールがあれば便利だなぁ。