+#!/usr/bin/env bash
+
+# We want to catch any unexpected failure, and exit immediately
+set -e
+
+# Download helper for hg, to be called from the download wrapper script
+#
+# Call it as:
+# .../hg [-q] OUT_FILE REPO_URL CSET BASENAME
+#
+# Environment:
+# HG : the hg command to call
+
+verbose=-v
+while getopts :q OPT; do
+ case "${OPT}" in
+ q) verbose=-q;;
+ \?) printf "unknown option '%s'\n" "${OPTARG}" >&2; exit 1;;
+ esac
+done
+shift $((OPTIND-1))
+
+output="${1}"
+repo="${2}"
+cset="${3}"
+basename="${4}"
+
+${HG} clone ${verbose} --noupdate --rev "${cset}" "${repo}" "${basename}"
+
+${HG} archive ${verbose} --repository "${basename}" --type tgz \
+ --prefix "${basename}" --rev "${cset}" \
+ "${output}"