2

I am trying to get the number of lines in each revision of a particular file in the subversion repository. I know svn log filename.txt returns the number of lines changed for each version. I want the actual number of lines.

4

2 回答 2

1

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

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

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

于 2013-03-13T10:15:28.183 回答
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
}
于 2013-03-13T10:09:53.847 回答