如何根据日期计算git库的SLOC

时间:2013-11-17 11:14:05

标签: python git

例如,使用给定日期(2年前或其他)计算git的SLOC。

我有另一个问题:     如何找出最常修改的前10个程序文件和前5个组件 (在具有给定日期的git库中具有最大的已更改代码行数或具有最大修改数)?

1 个答案:

答案 0 :(得分:1)

您可以调整此ruby script,调用git diff --stat以获取这些统计信息。

对于python,你有“git-loc

2010-05-13 14:38:21       42   +44    -2     initial
2010-05-13 14:40:14       44    +3    -1     hashbang added
2010-05-13 14:40:14       49    +8    -3     show last commit too
  

将其作为`git-loc --svg'运行,以在stdout上输出svg图。

请参阅git rev-parse SPECIFYING REVISIONS查看如何使用日期:

  

<refname>@{<date>} ,例如master@{yesterday}HEAD@{5 minutes ago}

     

ref后跟后缀@,日期规范括在括号对中(例如{yesterday}{1 month 2 weeks 3 days 1 hour 1 second ago}{1979-02-26 18:30:00})指定ref的值先前的时间点。

您可以将这些git diffgit log命令与“Finding most changed files in git”结合使用:

git log --pretty=format: --name-only | sort | uniq -c | sort -rg | head -10