Newer
Older
progname="${0##*/}"
warn ()
{
[ "$1" ] && echo >&2
[ "$1" ] && echo "$progname: $1" >&2
[ "$1" ] && echo >&2
}
fatal ()
{
warn "$2"
exit "$1"
}
usage ()
{
cat <<EOF
where <lustretag> is a tag of the lustre-core module
and <pindate> is an optional quoted timestamp suitable for cvs -D
echo "$progname: updating lustrecvs"
export LUSTRECVS_UPDATED=yes
exec "$0" "$@"
fi
if [ "$*" ] ; then
usage >&2
exit 1
fi
'')
warn "a lustretag is required."
usage >&2
exit 1
;;
--help | -h)
usage
exit 0
;;
# this is the branch table
# keep this list sorted alphabetically!
# These use special build directories
b1_4*) buildtag="b1_4" ;;
b_release_1_4_6-patchless) buildtag="b1_4" ;;
b_release_1_4_7-test) buildtag="b_release_1_4_7" ;;
b_release*) buildtag=$lustretag ;;
# These releases did not get build tagged for them because they
# this build system didn't exist when they were tagged
v1_2_8|v1_4_0)
# this is the branch table
# keep this list sorted alphabetically!
*)
buildtag="HEAD"
cotag="-r $tag"
uptag="-r $tag"
else
# silently skip if no tag was specified
return
fi
# create a cvs date format that will survive shell expansion
if [ -n "$pindate" ]; then
datecmd=$(date -u +%s -d "$pindate")
datecmd="-D @$datecmd"
echo "$progname: Updating $dir to $tag"
( cd "$dir" && cvs up $datecmd -dAP $uptag )
echo "$progname: Checking out $dir from $tag"
if [ -f build/buildcvs ] ; then
. build/buildcvs
else
fatal 1 "build/buildcvs does not exist; not updating other modules."
fi