aboutsummaryrefslogtreecommitdiff
path: root/externals/gridflow/bin/plusminus
blob: 685014cec4101b5aedc456f017011081d1d476a0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#!/usr/bin/env ruby
# NOTE: this works with diff -u only!!!

puts "-"*64

$plustot=0
$minustot=0

def show
  printf "%20s %+5d %+5d (net %+5d)\n", $file, $plus, -$minus, $plus-$minus
end

loop{
  line = gets
  break if not line
  if /^diff/.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 then $plus+=1
  elsif $on and /^\-/ =~ line then $minus+=1
  end
}

$plustot+=$plus if $plus
$minustot+=$minus if $minus
show if $file

$file="total"
$plus=$plustot
$minus=$minustot
puts "-"*64
show