hitode909の日記

趣味はマリンスポーツですの日記です

同時にコミットされてるファイルを調べる

同時にコミットされる機会が多いファイルが分かると便利だろうと思った.エディタでファイル切り替えるときに,普段同時に変更されてるファイルを優先して上のほうに出すと便利そうとか,知らないファイルを見たときに,よく同時に変更されてるファイルが分かれば読むときのヒントになるかもしれない.

rubygems.orgのmodels/userと変更されることが多いファイルは以下.test/unit/uesr_test.rbはこれまでに同時に38回コミットされていて,models/userが変更されたときにuser_testも同時にコミットされる確率は0.58.app/views/profiles/show.html.erbはユーザーのプロフィールが表示されるページのテンプレート.

test/unit/user_test.rb  38      0.5846153846153846
app/models/rubygem.rb   14      0.2153846153846154
app/views/profiles/show.html.erb        9       0.13846153846153847
app/models/web_hook.rb  8       0.12307692307692308
app/controllers/profiles_controller.rb  8       0.12307692307692308
test/functional/profiles_controller_test.rb     8       0.12307692307692308

逆に,user_testが変更されたときにmodels/userがコミットされる確率は0.71.

app/models/user.rb      38      0.7169811320754716
test/unit/rubygem_test.rb       15      0.2830188679245283
test/unit/web_hook_test.rb      13      0.24528301886792453
app/models/rubygem.rb   11      0.20754716981132076
test/unit/dependency_test.rb    11      0.20754716981132076
test/unit/version_test.rb       8       0.1509433962264151
test/functional/api/v1/web_hooks_controller_test.rb     8       0.1509433962264151


全コミットさかのぼって見てるので遅い.rubygems.orgのコミット2700件くらいあって,全部遡るのに1分半くらいかかった.エディタから呼び出して補完に使うには向かなさそう.ファイルのオブジェクトを取得して履歴を辿る方式にしたら速くなるかもしれない.