|
@@ -0,0 +1,39 @@
|
|
|
|
|
+#!/usr/bin/zsh
|
|
|
|
|
+
|
|
|
|
|
+wordiness=$1
|
|
|
|
|
+author=""
|
|
|
|
|
+survived=0
|
|
|
|
|
+survived_lines=0
|
|
|
|
|
+
|
|
|
|
|
+function diffone {
|
|
|
|
|
+ this_author=`git show -s --pretty=short $1 | tail -n +2 | head -n 1 | grep -oE ": .* <" | sed 's/: //' | sed 's/ <//' | tr ' ' '_'`
|
|
|
|
|
+ if [[ "$author" != "$this_author" ]]; then
|
|
|
|
|
+ return
|
|
|
|
|
+ fi
|
|
|
|
|
+ this_survived=`git show --minimal --oneline $1 -- ./main.tex | tail -n +6 | wdiff -d -1 -3 -i | grep -v -E "^=+$" | sed 's/[^\\]%.*//' | grep -v -E "^ *%.*" | grep -v -E "^ *$" | grep -v -E "^@" | grep -E "([^ ]+ ){$wordiness}.*[^ ]+" | wdiff -1 -2 -i ./main.tex - | grep -v -E "^=+$" | sed 's/[^\\]%.*//' | grep -v -E "^%.*" | grep -v -E "^ *$" | grep -v -E "^@" | grep -E "([^ ]+ ){$wordiness}.*[^ ]+" | wc -w`
|
|
|
|
|
+ this_survived_lines=`git show --minimal --oneline $1 -- ./main.tex | tail -n +6 | wdiff -d -1 -3 -i | grep -v -E "^=+$" | sed 's/[^\\]%.*//' | grep -v -E "^ *%.*" | grep -v -E "^ *$" | grep -v -E "^@" | grep -E "([^ ]+){$wordiness}.*[^ ]+ [^ ]+ [^ ]+" | wdiff -1 -2 -i ./main.tex - | grep -v -E "^=+$" | sed 's/[^\\]%.*//' | grep -v -E "^%.*" | grep -v -E "^ *$" | grep -v -E "^@" | grep -E "([^ ]+ ){$wordiness}.*[^ ]+ [^ ]+ [^ ]+" | wc -l`
|
|
|
|
|
+ survived=$((survived+this_survived))
|
|
|
|
|
+ survived_lines=$((survived_lines+this_survived_lines))
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+head=`git show -s --oneline HEAD | head -n 1 | sed 's/ .*//'`
|
|
|
|
|
+
|
|
|
|
|
+function oneauthor {
|
|
|
|
|
+ author=$1
|
|
|
|
|
+ survived=0
|
|
|
|
|
+ survived_lines=0
|
|
|
|
|
+ for h in `git log --all --oneline | sed 's/ .*//'`; do
|
|
|
|
|
+ # if [[ "$head" != "$h" ]]; then
|
|
|
|
|
+ diffone $h
|
|
|
|
|
+ # fi
|
|
|
|
|
+ done
|
|
|
|
|
+ echo -e "$2\t$survived\t$survived_lines"
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+echo "== Survived lines per author =="
|
|
|
|
|
+
|
|
|
|
|
+for a in `git log | grep -E "^Author:" | grep -oE ": .* <" | sed 's/: //' | sed 's/ <//' | sort -u | tr ' ' '_'`; do
|
|
|
|
|
+ aname=`printf "%25s\t\n" $a`
|
|
|
|
|
+ aname=${aname/_/ }
|
|
|
|
|
+ oneauthor $a "$aname"
|
|
|
|
|
+done
|