update: bugfix, -C
authorTero Marttila <terom@paivola.fi>
Fri, 16 Mar 2012 14:07:18 +0200
changeset 9 beb4bef2498a
parent 8 dab145ee3f81
child 10 26e789db3f72
update: bugfix, -C
bin/update
--- a/bin/update	Fri Mar 16 13:59:26 2012 +0200
+++ b/bin/update	Fri Mar 16 14:07:18 2012 +0200
@@ -44,19 +44,20 @@
     -q      quiet
     -v      verbose
     -D      debug
+    -C      debug commands
     
-    -d      show changes
+    -p      show changes
 
     -F      force-updates without checking src mtime
-    -n      no-op/mock-update; do not actually change anything; implies -S
     -S      do not update serial
+    -n      no-op/mock-update; do not actually change anything; implies -Sp
 END
 }
 
 function parse_args {
     OPTIND=1
 
-    while getopts 'hqvDdFnS' opt "$@"; do
+    while getopts 'hqvDCpFSn' opt "$@"; do
         case $opt in
             h)  
                 help_args $1
@@ -65,19 +66,16 @@
 
             q)  LOG= ;;
             v)  LOG_INFO=y ;;
-            D)  
-                LOG_DEBUG=y 
-                LOG_CMD=y
-                
-                ;;
-
-            d)  UPDATE_DIFF=y ;;
+            D)  LOG_DEBUG=y  ;;
+            C)  LOG_CMD=y ;;
+            p)  UPDATE_DIFF=y ;;
             F)  UPDATE_FORCE=y ;;
             S)  SERIAL_NOUPDATE=y ;;
  
             n)  
-                # implies -S
                 UPDATE_NOOP=y 
+                # implies -Sp
+                UPDATE_DIFF=y
                 SERIAL_NOUPDATE=y
                 ;;
 
@@ -185,7 +183,7 @@
     # target
     local dst=$1; shift
 
-    log_debug "$dst:"
+    log_debug "check_update: $dst"
 
     # need update?
     local update=
@@ -218,7 +216,7 @@
     local dst=$1; shift
     local tmp=$dst.new
 
-    log_debug "  update: $dst"
+    log_debug "update: $dst"
     cmd "$@" > $tmp
 
     # compare
@@ -231,12 +229,12 @@
     
     if [ $UPDATE_NOOP ]; then
         # cleanup
-        log_debug "  no-op:"
+        log_debug "  no-op"
 
         cmd rm $tmp
     else
         # commit
-        log_debug "  done:"
+        log_debug "  update"
 
         cmd mv $tmp $dst
     fi
@@ -306,7 +304,7 @@
     if check_update $dst $src; then
         log_info "Copying zone $zone.$part..."
 
-        do_update $output cat $src
+        do_update $dst cat $src
     else
         log_info "Copying zone $zone.$part: not changed"
     fi