haftmann@17671: #!/usr/bin/env bash haftmann@17671: # haftmann@17671: # $Id$ haftmann@17671: # haftmann@17671: # mirror script for Isabelle distribution or website haftmann@17671: haftmann@17671: haftmann@17671: ## diagnostics haftmann@17671: haftmann@17671: PRG=`basename "$0"` haftmann@17671: haftmann@17671: usage() haftmann@17671: { haftmann@17671: echo haftmann@17671: echo "Usage: $PRG [OPTIONS] DEST" haftmann@17671: echo haftmann@17671: echo " Options are:" haftmann@17671: echo " -h print help message" haftmann@17671: echo " -n dry run, don't do anything, just report what would happen" haftmann@17671: echo " -w mirror whole Isabelle website" haftmann@17671: echo " -d delete files that are not on the server (BEWARE!)" haftmann@17671: echo haftmann@17671: exit 1 haftmann@17671: } haftmann@17671: haftmann@17671: fail() haftmann@17671: { haftmann@17671: echo "$1" >&2 haftmann@17671: exit 2 haftmann@17671: } haftmann@17671: haftmann@17671: haftmann@17671: ## process command line haftmann@17671: haftmann@17671: # options haftmann@17671: haftmann@17671: HELP="" haftmann@17671: ARGS="" haftmann@17671: SRC="isabelle-distribution" haftmann@17671: haftmann@17671: while getopts "hnwd" OPT haftmann@17671: do haftmann@17671: case "$OPT" in haftmann@17671: h) haftmann@17671: HELP=true haftmann@17671: ;; haftmann@17671: n) haftmann@17671: ARGS="$ARGS -n" haftmann@17671: ;; haftmann@17671: w) haftmann@17671: SRC="isabelle-website" haftmann@17671: ;; haftmann@17671: d) haftmann@17671: ARGS="$ARGS --delete" haftmann@17671: ;; haftmann@17671: \?) haftmann@17671: usage haftmann@17671: ;; haftmann@17671: esac haftmann@17671: done haftmann@17671: haftmann@17671: shift `expr $OPTIND - 1` haftmann@17671: haftmann@17671: haftmann@17671: # help haftmann@17671: haftmann@17671: if [ -n "$HELP" ]; then haftmann@17671: cat <