2014-03-13 32 views
1

有没有办法与大多数贡献者(作者)一起运行Git日志命令?我想使用它和一个代码度量工具来基本显示每个贡献者生成的代码的质量。使用代码指标获取每个文件的多数贡献的日志命令

File  Author  Cyclomatic Complexity LOC(Additions) LOC(Deletions) 
Test.js "John Doe"   5      20    12 

,这将是有趣的另一种观点是能够与

Author CyclomaticComplexityAverage  LOC Per File #Files Majority Contributor 

James    4       30     75 
Anne    8       60     20 

而且总结,如果有一个Git工具杠杆使用http://msdn.microsoft.com/en-us/library/ms173498.aspx与Microsoft Visual Studio代码分析,这将是有趣Git日志或Git责怪每个作者指标。

当试图找出弱点或优势以帮助提高团队成员和认可更高质量时,这将非常有用。它也可以用来跟踪某人随着时间的推移而改进。

我知道代码指标不一定是确定开发人员技能的准确方法,还有很多其他因素决定了团队成员的贡献/技能。

回答

1

Git是一个内容跟踪器,虽然每个blob都可以与作者相关联,但git没有规定来方便地适应您所处理的各种顶级软件度量标准。因此,您必须为内容构建自己的解析器,否则在一般情况下您将尝试实现的内容遇到固有困难,因为内容的git解释和呈现与您的目标不一致。

此外请记住,git可以区分作者和提交者(以及每个blob),这是您必须考虑的,特别是如果可以通过项目中的修补程序提交代码。

忽视作者和提交者之间的区别,就可以知道开箱即用,使用git blame -- /path/to/file(以及随后就可以筛选由个别作者的贡献线在文件中不同的行

  • 著作权归属)
  • 历史与git log -- /path/to/file一个单独的文件(即与git log -p --author=<name>
的一个分支文件)
  • 历史作者的承诺影响了提交的

    如果幸运的话,您可以将上述组合与后期处理结合起来,为您的工具生成一个合理的输入,但我怀疑在任何情况下都需要进行大量的后期处理。