zoukankan      html  css  js  c++  java
  • 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"
    

      

  • 相关阅读:
    DS博客作业03--树
    C博客作业05--指针
    C博客作业04--数组
    C博客作业03--函数
    C博客作业02--循环结构
    顺序分支结构
    我的第一篇博客
    第1次任务:购物车程序的面向对象设计
    5-互评-OO之接口-DAO模式代码阅读及应用
    第三周-面向对象基础与类的识别-自主学习任务
  • 原文地址:https://www.cnblogs.com/nuanshou/p/9810070.html
Copyright © 2011-2022 走看看