| #!/bin/sh |
| |
| # Read coverity email on stdin |
| # whenever we find a filename & line number reference, go git-blame it |
| |
| file= |
| start= |
| end= |
| |
| while read line; do |
| if echo "$line" | grep -q '^/.*: '; then |
| echo "$line" |
| file=$(echo "$line" | cut -d: -f1) |
| elif echo "$line" | grep -q '^[*]'; then |
| echo "$line" |
| file= |
| start= |
| end= |
| elif echo "$line" | grep -q '^[0-9][0-9]*'; then |
| num=$(echo "$line" | awk '{print $1}') |
| [ -z "$start" ] && start=$num |
| #git blame -L "$num,+1" ".$file" | cat |
| elif [ -z "$line" ]; then |
| if [ "$start" -a "$num" -a "$file" ]; then |
| end=$num |
| git blame --date=short -L "$start,$end" ".$file" | cat |
| start= |
| end= |
| num= |
| else |
| echo "$line" |
| fi |
| else |
| echo "$line" |
| fi |
| done |