Svn 每个版本中的行数

Svn 每个版本中的行数,svn,Svn,我正在尝试获取subversion存储库中特定文件的每个版本中的行数。我知道svn log filename.txt返回每个版本更改的行数。我需要实际的行数。您可以使用以下功能: function revLineStats() { # <file or url> local file=${1} for rev in $(svn log "${file}" |awk '/^r[[:digit:]]+ \|/{print substr($1,2);}'|sort -g) d

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

您可以使用以下功能:

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
}
函数revLineStats(){#
本地文件=${1}
对于$(svn日志“${file}”|awk'/^r[[:digit:]+\\\;/{print substr($1,2);}'| sort-g)中的版本
做
printf“%5i:%5i\n”${rev}$(svn cat-r${rev}“${file}”wc-l)
完成
}

svn diff-c myrev
输出
myrev
修订版引入的差异。这是您可以从机器上获得的最大信息,而无需应用启发式

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


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

我想不出一个本机SVN命令可以做到这一点,但您可以使用它来获取特定版本的文件内容,然后对其进行grep