vcs_svn() { local revision='' local OPTIND=1 local opt while getopts 'r:' opt; do case "$opt" in r) local revision="-r $OPTARG" ;; esac; done shift $((OPTIND-1)) [ "$1" = '--' ] && shift local reponame="$(basename "$1")" local dir="$dir_source/$name/$reponame" if [ ! -d "$dir" ]; then # Clone new repo svn co $revision "$1" "$dir" echo "$(svn info "$dir" --show-item revision)" > "${dir}_rev_$_satname" vcs_compile=true else svn up $revision "$dir" || true local rev="$(svn info "$dir" --show-item revision)" if [ "$rev" != "$(cat "${dir}_rev_$_satname" 2> /dev/null || true)" ]; then echo "$rev" > "${dir}_rev_$_satname" vcs_compile=true fi fi [ "$branch" ] || version="r$(svn info "$dir" --show-item revision | xargs)" getfile "$reponame" }