aboutsummaryrefslogtreecommitdiff
path: root/externals/gridflow/bin/plusminus
blob: 36f268f508a690dd0b08954c54f398ce5d6ab980 (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 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