计数随时间变化的代码行
有没有什么好的工具可以计算在一个特定时间段内在mercurial repository中更改的代码行数? 一些沿着statsvn的行将是伟大的,但任何计数在6个月内更改的代码行数将做(包括一个聪明的参数组合hg日志)。 谢谢。
PS:请不要讨论测量这个数字的目的;)
hgstream失扩展是你想要的。
您可以通过hg活动或hg图表获得视觉效果。
 编辑 : hg diff和hg log都支持--stat选项,可以为你做到这一点,只有更好,更快。 
 我做了一个叫做lines的别名来为我计算改变的行(不一定是代码行)。 尝试把这个别名放在你的.hgrc文件中: 
 [alias] lines = !echo `hg log -pr $@ | grep "^+" | wc -l` Additions; echo `hg log -pr $@ | grep "^-" | wc -l` Deletions; 
然后将其传递给修订版本,然后传递任何可选参数:
  hg lines tip或hg lines 123:456 -u brian 
 有时你想知道改变的行数,不包括只有空白的变化。 这需要在下面使用diff -w而不是log -p 。 我linesw设置了一个linesw别名: 
 #ignore whitespace linesw = ![[ $1 =~ : ]] && r=$1 || r="$1~1:$1"; echo `hg diff -wr $r | grep "^+\([^+]\|$\)" | wc -l` Additions; echo `hg diff -wr $r | grep "^-\([^-]\|$\)" | wc -l` Deletions; 
  hg linesw tip或hg lines 123:456 
 请注意,它们的行为稍有不同,因为diff和log行为有所不同 – 例如, log将采用--user参数,而diff不会,并且在传递范围时, log将显示在该范围内提供的第一个修订中提交的更改diff不会。 
这只是使用bash进行testing。
我需要这样做,并花了相当多的时间与hg churn扩展和类似的解决scheme。
最后,我发现最适合我的是CLOC(Count Code of Code): http ://cloc.sourceforge.net/
您可以给它两个文件夹,其中包含两个版本的项目,它将统计所有相同的行,修改,添加,删除。 它承认多种语言和项目的代码,评论和空白行。
为了使用它,我从Hg中将两个版本的代码抽出到两个并行的文件夹中,然后使用cloc –diff –ignore-whitespace