statsvn,代码统计

Posted nuanshou

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了statsvn,代码统计相关的知识,希望对你有一定的参考价值。

#! /bin/bash
# 计算有效变更代码量的脚本
#./svnCount -thttps://192.168.1.1/xxx -s1000 -e2000 -uxxx -pxxx
version() {
OS=`uname -o`
echo "Source_counter ($OS) 0.0.1"
echo " tony bai (http://tonybai.com)"
}

usage() {
echo "usage: source-counter [-t SVN_REPOSITORY_URL] [-s START_REVISION]"
echo " [-e END_REVISION] [-u USER_NAME]"
echo " [-p PASSWD]"
echo " source-counter [-v|-h]"
echo 
echo " -t, 目标SVN库地址"
echo " -s, 起始修订号"
echo " -e, 结束修订号"
echo " -u, svn帐号"
echo " -p, svn密码"
echo " -h, 帮助"
echo " -v, 版本信息"
}

if [ $# -lt 2 ]; then
usage
exit 1 
fi

while getopts "t:s:e:u:p:vh" opt; do
case $opt in
t) target=$OPTARG;;
s) start_revision=$OPTARG;;
e) end_revision=$OPTARG;;
u) user=$OPTARG;;
p) passwd=$OPTARG;;
v) version; exit 1;;
h) usage; exit 1;;
esac
done

if [ -z $target ]; then
echo "请输入目标SVN库地址!"
exit 1
fi

if [ -z $start_revision ]; then
echo "请输入起始修订号!"
exit 1
fi

if [ -z $end_revision ]; then
echo "请输入终止修订号!"
exit 1
fi

TEMPFILE=temp.log
USERNAME=${user:-}
PASSWD=${passwd:-}

svn diff -r$start_revision:$end_revision $target > $TEMPFILE
#去掉含空格的空行
add_lines_count=`grep "^+" $TEMPFILE | grep -v "^+++" | sed ‘s/^.//‘| sed s/[[:space:]]//g |sed ‘/^$/d‘|wc -l`
echo "the actually incremental source code lines = $add_lines_count"

  

以上是关于statsvn,代码统计的主要内容,如果未能解决你的问题,请参考以下文章

svn代码量统计工具StatSVN的使用

使用statsvn统计svn中项目代码行数时,出现如下问题,该如何解决?

Subversion 存储库统计信息,不是 StatSVN? [关闭]

针对已有产品或项目升级代码统计方案

针对已有产品或项目升级代码统计方案

SVN的可视化日志统计工具StatSVN