statsvn,代碼統計
阿新 • • 發佈:2018-10-18
done clas sage 結束 有效 repos diff visio highlight
#! /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,代碼統計