chiark / gitweb /
Mirroring: Honour DGIT_DRS_DEBUG=0
[dgit.git] / infra / dgit-mirror-rsync
index 9afd39f1659c62de4114dd84dd9f6ae4a3fdcca7..47142ee296beecf4eb93c57e7cf92687dc11f01a 100755 (executable)
@@ -26,7 +26,7 @@ set -o pipefail
 shopt -s nullglob
 
 case "$DGIT_DRS_DEBUG" in
-''|0!1)                ;;
+''|0|1)                ;;
 *)             set -x  ;;
 esac
 
@@ -105,13 +105,13 @@ lock-and-process () {
 }
 
 attempt () {
-       exec >"$queue/$package.err" 2>&1
+       exec 3>&2 >"$queue/$package.err" 2>&1
        if actually; then
-               rm "$queue/$package.a"
+               rm -f "$queue/$package.a"
                mv -f "$queue/$package.err" "$queue/$package.log"
                rm "$queue/$package.lock"
        else
-               cat >&2 "$queue/$package.err"
+               cat >&3 "$queue/$package.err"
                exit 127
        fi
 }
@@ -146,13 +146,13 @@ reinvoke-locked)
 
 backlog)
        for f in $queue/*.[na]; do
-               lock-and-process-baseof-f
+               (lock-and-process-baseof-f ||:)
        done
        ;;
 
 all)
        for f in [a-z0-9]*.git; do
-               lock-and-process-baseof-f
+               (lock-and-process-baseof-f)
        done
        ;;