about summary refs log tree commit diff
diff options
context:
space:
mode:
-rwxr-xr-xpatch/bdiff.sh40
1 files changed, 26 insertions, 14 deletions
diff --git a/patch/bdiff.sh b/patch/bdiff.sh
index 1515319738d3..1a4381529468 100755
--- a/patch/bdiff.sh
+++ b/patch/bdiff.sh
@@ -1,7 +1,7 @@
 #! /bin/sh -e
 
-#DIFF=/home/eelco/Dev/nix/zdelta-2.1/zdc
-DIFF=/home/eelco/Dev/nix/bsdiff-4.2/bsdiff
+#DIFF=zdc
+DIFF=bsdiff
 
 srcA=$1
 srcB=$2
@@ -15,26 +15,38 @@ fi
 
     if test -f "$srcA/$fn"; then
 
-	echo "FILE DELTA FOR $fn"
+        if ! test -f "$srcB/$fn"; then
+            echo "DELETE $fn"
+        else
 
-        TMPFILE=/tmp/__bsdiff
-	$DIFF "$srcA/$fn" "$srcB/$fn" $TMPFILE
-        cat $TMPFILE
+            if ! cmp "$srcA/$fn" "$srcB/$fn" > /dev/null; then
+                    
+                echo "FILE DELTA FOR $fn"
 
-        diffSize=$(stat -c '%s' $TMPFILE)
+                TMPFILE=/tmp/__bsdiff
+                $DIFF "$srcA/$fn" "$srcB/$fn" $TMPFILE
+                cat $TMPFILE
 
-        # For comparison.
-        bzipSize=$(bzip2 < "$srcB/$fn" | wc -m)
+                diffSize=$(stat -c '%s' $TMPFILE)
 
-        gain=$(echo "scale=2; ($diffSize - $bzipSize) / $bzipSize * 100" | bc)
+                # For comparison.
+                bzipSize=$(bzip2 < "$srcB/$fn" | wc -m)
 
-        ouch=$(if test "${gain:0:1}" != "-"; then echo "!"; fi)
+                gain=$(echo "scale=2; ($diffSize - $bzipSize) / $bzipSize * 100" | bc)
 
-        printf "%7.2f %1s %10d %10d %s\n" \
-            "$gain" "$ouch" "$diffSize" "$bzipSize" "$fn" >&2
+                ouch=$(if test "${gain:0:1}" != "-"; then echo "!"; fi)
+
+                printf "%7.2f %1s %10d %10d %s\n" \
+                    "$gain" "$ouch" "$diffSize" "$bzipSize" "$fn" >&2
 #        echo "$fn -> $diffSize $bzipSize ==> $gain  $ouch" >&2
 
-        rm $TMPFILE
+                rm $TMPFILE
+
+            fi
+
+        fi
+
+        # Note: be silent about unchanged files.
 
     else