aboutsummaryrefslogtreecommitdiff
path: root/externals/gridflow/bin/plusminus
diff options
context:
space:
mode:
Diffstat (limited to 'externals/gridflow/bin/plusminus')
-rwxr-xr-xexternals/gridflow/bin/plusminus39
1 files changed, 39 insertions, 0 deletions
diff --git a/externals/gridflow/bin/plusminus b/externals/gridflow/bin/plusminus
new file mode 100755
index 00000000..36f268f5
--- /dev/null
+++ b/externals/gridflow/bin/plusminus
@@ -0,0 +1,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