2017-09-13 4 views
0

私はBUC-IDごとに行のコードを計算する必要があるユーザーケースがあります。 私は今、私は複数のファイルでBUC-IDを持っているコード行を計算する際に特定のファイルをスキップする方法は?

  git log --shortstat --grep=BUC3565-EPIC16 |grep -E "fil(e|es) changed" | awk -v BUC=$i '{ inserted+=$4; deleted+=$6; delta+=$4-$6i } END {printf "%s, %s, %s, %s \n",BUC, inserted, deleted, delta }' 

を使用して同じことを達成しています。いくつかのファイルやフォルダをスキップして、そのBUC-IDのコードオフラインを計算できる方法はありますか?

Basically, I need to exclude some files/folders while calculating Lines of Code. I am not able to do so because each commit has multiple files. Some should be included and some excluded...Any idea how to achieve that? 

CLOCはファイルを除外する機能を備えていますか?

答えて

0
  1. BUC-IDに関連するすべてのコミットを検索します。すべてのについては

    git log --pretty=%H --grep=BUC3565-EPIC16

  2. をコミットし、いくつかのファイル/フォルダを除くすべての変更されたファイルを一覧表示します。残りのすべてのファイルについては

    git show $commit --pretty=format:"" --name-only | grep -ve "foo.txt" -ve "bar/"

  3. 、そのinsertionsdeletionsdeltaを計算します。

    git show $commit --pretty=format:"" --short-stat -- $file | grep -E "fil(e|es) changed" | awk

  4. 結果をまとめます。

0

clocには、ファイルを除外するためのいくつかのメカニズムがあります。詳細については https://github.com/AlDanial/clocで「除外」を検索してください。

簡単に言えば、--exclude-list-file--not-match-fあなたは正規表現を指定することができます、--exclude-langが与えられたプログラミング言語を無視し、指定したファイル拡張子を持つファイルをスキップし--exclude-ext--exclude-dirはあなたが指定したディレクトリをスキップすることができます、あなたは除外したいファイルの名前を含むファイルに渡すことができます一致がスキップされます。

関連する問題