#!/usr/bin/env ruby # NOTE: this works with svn diff -u only!!! puts "-"*72 $plustot=0 $minustot=0 def show printf "%40s %+5d %+5d (net %+5d)\n", $file, $plus, -$minus, $plus-$minus end loop{ line = gets break if not line if /^\+\+\+/.match line then x = line.split(/\s+/) $plustot+=$plus if $plus $minustot+=$minus if $minus show if $file $file = x[1] $on=false $plus=0 $minus=0 elsif /^\@\@/ =~ line then $on=true elsif $on and /^\+/ =~ line and /^\-\-\-/ != line then $plus+=1 elsif $on and /^\-/ =~ line and /^\+\+\+/ != line then $minus+=1 end } $plustot+=$plus if $plus $minustot+=$minus if $minus show if $file $file="total" $plus=$plustot $minus=$minustot puts "-"*72 show