X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=dgit.git;a=blobdiff_plain;f=infra%2Fdgit-mirror-rsync;h=0d29ffb3e65621b3fec1f468bd0d64c5d90f3772;hp=01620424182ddaae166c1e9c71bb142d96178afc;hb=f773b1ed2796196e0fa801886fce493544c38fe0;hpb=2b5c351f4b03f0110f386e15c3f30b1747cbc62f diff --git a/infra/dgit-mirror-rsync b/infra/dgit-mirror-rsync index 01620424..0d29ffb3 100755 --- a/infra/dgit-mirror-rsync +++ b/infra/dgit-mirror-rsync @@ -26,7 +26,7 @@ set -o pipefail shopt -s nullglob case "$DGIT_DRS_DEBUG" in -''|0!1) ;; +''|0|1) ;; *) set -x ;; esac @@ -108,7 +108,11 @@ attempt () { exec 3>&2 >"$queue/$package.err" 2>&1 if actually; then rm -f "$queue/$package.a" + exec 2>&3 2>&1 mv -f "$queue/$package.err" "$queue/$package.log" + if ! [ -s "$queue/$package.log" ]; then + rm "$queue/$package.log" + fi rm "$queue/$package.lock" else cat >&3 "$queue/$package.err" @@ -146,13 +150,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 ;;