SVN归因插件?

时间:2010-05-14 02:13:54

标签: svn code-analysis

我正在将SVN与Google Code Project Hosting一起用于学校项目。随着代码库大小的增加,我经常发现自己想知道如下问题:

  • “最初检查此行的人 代码?“
  • “谁一直在办理登机手续 最近最多的代码?“
  • “在最终产品中,有多少是由人X编写的?”
  • “哪个编码员最擅长遵守编码惯例?”

有没有可用的插件? (如果没有,我会有兴趣自己开发一个。关于从哪里开始的任何想法?)

我们将Visual Studio 2008与AnkhSVN插件一起使用。

2 个答案:

答案 0 :(得分:7)

在Subversion本身中,命令svn blame为您提供文件每一行的作者和修订信息。

外部工具StatSVN非常好。它完成了你想要的大部分工作,包括author stats。不包括对代码约定的遵守。对于那种事情,你最好使用像Sonar这样的东西。

答案 1 :(得分:0)

svn blame命令为您提供每行最后一次更改的作者和修订版,您可以使用-r #选项查看早期版本中的相同信息。因此,要获得完整的历史记录,您必须循环:

  1. svn blame -r HEAD获取最新更改。
  2. 检查您感兴趣的行以确保它存在。
  3. 解析修订号(全部在文件中或仅在您感兴趣的行范围内)并找到最大的号码。
  4. 使用最大修订版 - 1代替HEAD
  5. 返回1

    一般情况下,您无法跟踪修改中的行。我已经编写了一些有助于每一步的工具,但每当我需要做这种事情时我都必须手动完成,查看每个阶段的svn blame输出,看看每个阶段的代码是如何变化的修改