#!/usr/bin/env bash

# We want to catch any unexpected failure, and exit immediately
set -e

# Download helper for cvs, to be called from the download wrapper script
#
# Call it as:
#   .../cvs [-q] OUT_FILE CVS_URL REV PKG_NAME BASENAME
#
# Environment:
#   CVS      : the cvs command to call

verbose=
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}"
rev="${3}"
rawname="${4}"
basename="${5}"

if [[ ${rev} =~ ^[0-9] ]]; then
    # Date, because a tag or a branch cannot begin with a number
    select="-D"
else
    # Tag or branch
    select="-r"
fi

export TZ=UTC
${CVS} ${verbose} -z3 -d":pserver:anonymous@${repo}" \
       co -d "${basename}" ${select} "${rev}" -P "${rawname}"

tar czf "${output}" "${basename}"
