git代码量统计脚本

#/bin/sh

file_path="/d/idea/xxx/xxx/"
file_name="../xxx.txt"

function getcodeline() {
         git log --since=1.years --pretty=tformat: --numstat | awk '{ add += $1; subs += $2; loc += $1 - $2 } END { printf "added lines: %s, removed lines: %s, total lines: %s\n", add, subs, loc }' - 
         return
    }

function getcedeperson () {
       #查询当前提交人有哪些
       personstr=`git log --pretty='%cN' | sort -u`
#       OLD_IFS="$IFS"
       IFS=$'\n'
       arr=($personstr)
#      IFS="$OLD_IFS"
       for s in ${arr[@]}
       do
#       echo "提交人-"$s  >> $file_name
       #查询当前提交人的代码量
#       echo `git log --since=1.years --committer=$s --pretty=tformat: --numstat | awk '{ add += $1; subs += $2; loc += $1 - $2 } END { printf "added lines: %s, removed lines: %s, total lines: %s\n", add, subs, loc }' -` >>  $file_name
       echo $s":"`git log --since=1.years --committer=$s --pretty=tformat: --numstat | awk '{loc += $1 - $2 } END { printf " %s\n", loc }' -` >> $file_name
      done
   }

for dir in `ls $1`
do
 if test -d $dir 
  then
   arr=(${arr[*]} $dir) 
#   echo $dir
   cd $file_path$dir
   echo `pwd`
#   echo "项目名称-"$dir >>  $file_name
   echo "------------------------"$dir"--------------------------------" >>  $file_name
   echo "总的代码量-"`getcodeline`  >>  $file_name

   getcedeperson
   cd ..
   fi
done

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值