$ git ls-files *.php | xargs -n1 -I{} git log --reverse -1 --format='%cd {}' --date=short {} | sort
1 ファイルごとに git log するので、ファイル数が多いと重い。以下のように出力される。
:
2015-10-07 src/.../a.php
2016-10-07 src/.../b.php
2017-10-07 src/.../c.php
:
日付が不要なときは --format
の %cd
(committer date) を消せば OK。
そもそもの動機としては会社で、first commit が古い --> 技術的負債がたまっている可能性あり? --> リファクタのしがいがあるかも、という考えに至ったため。
負債の程度は first commit date だけでなく、コミットの総数や修正行数なども判断材料として使えそうだけど、ただでさえ重い処理に拍車がかかりそうなので一旦見送り…。