memorandums

日々の生活で問題解決したこと、知ってよかったことなどを自分が思い出すために記録しています。

gitのactivityログを可視化したい

昨年度から始めたRails授業.

授業では共同開発のためgit & Bitbucketを使ってもらいました.

ブランチ切って各自で開発して,いいところできたら,マスターブランチに統合する...っていう作業をしてもらいました.

それまでJava Servlet & JSPEclipseでバージョン管理なしでチーム開発してもらったので...バージョン管理なんて使えるのかな...コーディングどころでなくなってしまうんじゃないかと心配でしたね...内心ハラハラ.

実際に授業&演習をやってもらい,そんな心配は気苦労だったことがわかりました.優秀ですね〜.素晴らしい.

教えてもいないgemを勝手に調べて使いだして,いい感じのサービスを作れたのは正直なところ驚きました.

もちろんツールもよくできているだろうし,そのツールを使いこなすための情報を多くの人がネットにあげてくれていたお陰でもあるのでしょうけど.

で,そんな彼ら彼女らの活動を発表したくて,教育系の研究会へ投稿しようかとここ1週間ほど作業しています.

BitbucketのリポジトリのURLは成果物として提出してもらっているので入手できます.

git log --numstatでログ収集します.

データをいい感じに可視化してくれるサービスがないかな...と調べたら以下のサービスが見つかりました.

eazybi.com

最初,どう使っていいのか迷いましたが,ポチポチやっているうちにわかりました.

ドキュメントが公開されているのでそちらを見ればいいのですが,とりあえず個人メモとして記録しておきます.

(1)上記のサイトにアクセスしてアカウント登録します.私はGoogleで登録.ちなみにこのサービスは有償なのですが30日間は試用できます.

(2)Bitbucketからリポジトリデータをクローンして,ローカルにクローンしたフォルダ内で以下のコマンドを入力します.公式に書かれているものです.

export LANG=en_US.UTF-8
git log --numstat > git-log.txt

(3)eazybiにログインして,「Source Data」 - 「Source Files」 とたどります.そこで,Choose a File を選択して,さきほど(2)で生成したgit-log.txtをアップロードします.アップロードが完了すると右の方に「Import」というボタンがありますので押します.なんでアップロードしたあとにImportが必要なのか不明ですが...まぁいいでしょう.

(4)「Analyze」を選択し,「new report」を選択します.あとは,Rowsってところに「Time」をドラッグ&ドロップして,あとはお好きなようにってことですが...例えば,私は週ごとのコミット数が知りたかったので,WeeklyのAll Timesを押し(濃いグレーになったことが選択されている表示のようです),追加・削除行数は不要だったので,AddtionsとDeletionsはオフにしました(薄くなっていますよね?).下図のように「Time」をさらに押すと,そのあと,BarやLinesを押すとグラフが表示されます.

f:id:ke_takahashi:20190520230536p:plain

(5)グラフが表示されているのが以下のような感じです.ちなみに赤丸のアイコンを押すと画像ファイルやpdfファイルをダウンロードすることができます.これで論文に貼り付けられますね.ありがたやありがたや.

f:id:ke_takahashi:20190520230747p:plain

ちなみに,私が作ったグラフは以下のような感じです.AからGまで6チーム(2名ずつ)あったので,それぞれのメンバーのコミット数がわかります.いいかんじぃー.やはり終盤はどのチームもがんばっていますねぇー.

f:id:ke_takahashi:20190520230919p:plain

ただ,ちょっとこの見え方は気に食わなかったので,上記の(5)の操作でCSVファイルをダウンロードしてExcelでグラフ化したのが以下です.見やすいとは全く思えませんが...かっこいいですねぇ.それだけです.

f:id:ke_takahashi:20190520231220p:plain

もう少し見やすくしたのが以下です.おーっと縦軸に軸ラベルをいれるべきですね...忘れています.

f:id:ke_takahashi:20190520231354p:plain

とりあえずメモでした.はい.