gitinspectorを使ってみた
インストール
公式サイト https://code.google.com/p/gitinspector/ よりダウンロードして、unzip。
gitとPython2.6以上が必要、CentOS 6.xならyumで多分大丈夫。
使い方
gitinspector.py [オプション] [gitレポジトリのパス]
分析結果が標準出力されるので、ファイルに保存したい場合はリダイレクトを使う。
gitinspector.py -f java,conf,css,html,js,properties,sh,vm,xml -F htmlembedded -THmrl /home/mriit/ITRM > /var/www/html/inspector_simple.html
-fで解析したいファイルの拡張子をカンマ区切りで指定、-Fで出力形式を指定、デフォルトはテキスト形式。html形式はjQueryなどを外部から参照している、htmlembeddedはそれらを埋め込んだもの。公式に各種のサンプルがあり、以下はその一部。
authorごとに、コミット数、追加行数、削除行数、変更の割合や、月ごと(-Wで週ごと)の変更行数などが表示される。
よくわからない事故が・・・
そのまま使ったら、「git blameに eオプションはない」というエラーが出た。git 1.7.1にはblameに-eがないことは確認。
blame.pyにその記述があるので、そこをいじることにした。
「-e」削るだけではだめなようだ
色々試したところ、-nが正解っぽいようなので、該当箇所を下記のようにする
lang:blame.py
blame_string = "git blame -n -w {0} ".format("-C -C -M" if hard else "") + \
そしたら、authorの名前取得がうまくいかなくなった模様…
下記のメソッドでgit blame で出力されたものからemailをとって、それをもとにauthorの名前をとるようにしている?
lang:blame.py
@staticmethod
def get_author_email(string):
author_email = re.search(" \((.*?)\d\d\d\d-\d\d-\d\d", string)
return author_email.group(1).strip().lstrip("<").rstrip(">")
def get_latest_author_by_email(self, name):
return self.authors_by_email[name]
自分の環境でgit blameをしたら、authorの名前が出ているので、そんなことをしない方がうまくいくのでは思い、上記のメソッドを、もらったnameをそのまま返すように変更したら動くようになった。もっと適切な解決があると思うが、とりあえずはこれで。
まとめ
やけくそ感満載だけど、とりあえずリポジトリからの情報が得られたので良しとする。gitの方にも問題があったかも。gitで開発する際は、定期的にこれを見てみる。期間が短い場合は、週ごとの表示にした方がよいかも。
Author And Source
この問題について(gitinspectorを使ってみた), 我々は、より多くの情報をここで見つけました https://qiita.com/n_slender/items/9c43d5480e4e988b727b著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .