37 lines
718 B
Plaintext
37 lines
718 B
Plaintext
|
#!/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
|