zoukankan      html  css  js  c++  java
  • svn 有效代码统计


    alex@localhost:~$ cat shell/source-counter.sh #! /bin/bash # 计算有效变更代码量的脚本 # 包括注释,但不包括新增的空行 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 $USERNAME $PASSWD > $TEMPFILE #去掉含空格的空行 add_lines_count=`grep "^+" temp | grep -v "^+++" | sed 's/^.//'| sed s/[[:space:]]//g |sed '/^$/d'|wc -l` #没有去掉有的空行 #add_lines_count=`grep "^+" $TEMPFILE|grep -v "^+++"|sed 's/^.//'|sed '/^$/d'|wc -l` rm -fr $TEMPFILE echo "the actually incremental source code lines = $add_lines_count"

      

  • 相关阅读:
    Mysql入门-对表数据的增删改查
    Mysql教程-自动备份数据库
    前端基础教程-jQuery EasyUI 的EasyLoader实例
    html上标与下标应用
    git使用教程
    retrofit2.0缓存设置
    android 模拟用户点击事件
    power designer 16.5 生成mysql8.0注释
    Navicat连接Mysql8.0.11出现1251错误
    mongodb 安装配置及简单使用
  • 原文地址:https://www.cnblogs.com/suriyel/p/2870633.html
Copyright © 2011-2022 走看看