@@ -7,6 +7,7 @@ set -e
#
# Options:
# -q Be quiet.
+# -C Only check that the revision exists in the remote repository.
# -o FILE Generate archive in FILE.
# -u URI Checkout from repository at URI.
# -c REV Use revision REV.
@@ -16,9 +17,11 @@ set -e
# SVN : the svn command to call
verbose=
+checkonly=false
while getopts "${BR_BACKEND_DL_GETOPTS}" OPT; do
case "${OPT}" in
q) verbose=-q;;
+ C) checkonly=true;;
o) output="${OPTARG}";;
u) uri="${OPTARG}";;
c) rev="${OPTARG}";;
@@ -36,6 +39,15 @@ _svn() {
eval ${SVN} "${@}"
}
+if ! _svn ls ${verbose} -r "'${rev}'" "'${uri}'" > /dev/null; then
+ printf "Revision '%s' does not exist in this repository\n." "${rev}"
+ exit 1
+fi
+
+if ${checkonly}; then
+ exit 0
+fi
+
_svn export ${verbose} "${@}" "'${uri}@${rev}'" "'${basename}'"
tar czf "${output}" "${basename}"