#!/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