每个修订版中的行数

时间:2013-03-13 03:23:19

标签: svn

我正在尝试获取subversion存储库中特定文件的每个修订版中的行数。我知道svn log filename.txt会返回每个版本更改的行数。我想要实际的行数。

2 个答案:

答案 0 :(得分:1)

svn diff -c myrev输出myrev修订引入的差异。这是您可以在不应用启发式的情况下从机器获得的最大信息。

如果您需要添加的行数,请使用|egrep '^\+'|wc -l等后处理输出

statsvn是一个用Java编写的SVN历史分析软件,您可以将其用作灵感(或在测试时作为参考)。

答案 1 :(得分:0)

您可以使用以下功能:

function revLineStats() { # <file or url>
  local file=${1}
  for rev in $(svn log "${file}"  |awk '/^r[[:digit:]]+ \|/{print substr($1,2);}'|sort -g)
  do
    printf "%5i : %5i\n"  ${rev} $(svn cat -r ${rev} "${file}" |wc -l)
  done
}