Skip to content

Instantly share code, notes, and snippets.

@jp1017
Created April 25, 2016 06:11
Show Gist options
  • Save jp1017/f825c2ab6ec76527c988751b86c52cfc to your computer and use it in GitHub Desktop.
Save jp1017/f825c2ab6ec76527c988751b86c52cfc to your computer and use it in GitHub Desktop.
#!/bin/bash
function count() {
local insert=0
local delete=0
while read line ;do
current=`echo $line| awk -F',' '{printf $2}' | awk '{printf $1}'`
if [[ -n $current ]]; then
insert=`expr $insert + $current`
fi
current=`echo $line | sed -n 's/.*, //p' | awk '{printf $1}'`
if [[ -n $current ]]; then
delete=`expr $delete + $current`
fi
done < .tmp.count
echo "$insert insertions, $delete deletions"
}
function countAll() {
git log --author=jp1017 --shortstat --pretty=format:"" | sed /^$/d >.tmp.count
count;
rm .tmp.count
}
function countToday() {
local current=`date +%s`;
local begin=`date +%Y-%m-%d |xargs date +%s -d`;
local minutes=$(($current - $begin));
git log --author=msdx --since="$minutes seconds ago" --shortstat --pretty=format:"" | sed /^$/d >.tmp.count
count;
rm .tmp.count
}
function countOneDay() {
git log --author=msdx --since="1 days ago" --shortstat --pretty=format:"" | sed /^$/d >.tmp.count
count;
rm .tmp.count
}
if [[ ! -n $1 ]] || [[ $1 = "all" ]] ; then
countAll;
elif [[ $1 = "oneday" ]]; then
countOneDay;
elif [[ $1 = "today" ]]; then
countToday;
else
echo "args: all | oneday | today";
fi
@jp1017
Copy link
Author

jp1017 commented Apr 25, 2016

功能

可统计在某个项目中,自己修改代码的行数,包括增加多少行,删除多少行。

用法

把脚本放到你git的项目里,代码中的author对应的值换成自己的名字,运行就可以了

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment