|
|
|
vcs_svn() {
|
|
|
|
local revision=''
|
|
|
|
local setver=true
|
|
|
|
|
|
|
|
local OPTIND=1
|
|
|
|
local opt
|
|
|
|
while getopts 'Vr:' opt; do case "$opt" in
|
|
|
|
V) local setver=false ;;
|
|
|
|
r) local revision="-r $OPTARG" ;;
|
|
|
|
esac; done
|
|
|
|
shift $(expr $OPTIND - 1)
|
|
|
|
[ "$#" -ge 1 ] && [ "$1" = '--' ] && shift || true
|
|
|
|
|
|
|
|
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_$name_sat"
|
|
|
|
vcs_compile=true
|
|
|
|
else
|
|
|
|
svn up $revision "$dir" || true
|
|
|
|
local rev="$(svn info "$dir" --show-item revision)"
|
|
|
|
if [ "$rev" != "$(cat "${dir}_rev_$name_sat" 2> /dev/null || true)" ]; then
|
|
|
|
echo "$rev" > "${dir}_rev_$name_sat"
|
|
|
|
vcs_compile=true
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
|
|
|
|
[ "$setver" = true ] && version="r$(svn info "$dir" --show-item revision | xargs)" || true
|
|
|
|
getfile "$reponame"
|
|
|
|
}
|