#!/bin/sh
+LC_COLLATE="C"
progname="${0##*/}"
warn ()
usage ()
{
cat <<EOF
-Usage: $progname lustretag
- where lustretag is a tag of the lustre-core module
+Usage: $progname <lustretag>
+ where <lustretag> is a tag of the lustre-core module
EOF
}
-# portalstag="HEAD"
+if [ -z "$LUSTRECVS_UPDATED" ] ; then
+ echo "$progname: updating lustrecvs"
+ cvs up -l || fatal 1 "Error updating lustrecvs"
+ export LUSTRECVS_UPDATED=yes
+ exec "$0" "$@"
+fi
+
buildtag="HEAD"
-portalstag="HEAD"
lustretag="$1"
-libsysiotag="head_0607"
+shift
+
+if [ "$*" ] ; then
+ usage >&2
+ exit 1
+fi
+
case "$lustretag" in
'')
# this is the branch table
# keep this list sorted alphabetically!
- b1_4_bgl)
- portalstag="b1_4_bgl"
- ;;
-
- b_newsysio | b_sec)
- libsysiotag="head_0809"
- ;;
-
- b_port_step)
- portalstag="b_port_step"
+ *)
+ buildtag="HEAD"
;;
esac
cvs_cmd ()
{
- local dir="$1"
- local module="$2"
- local tag="$3"
- local cvstag=""
+ dir="$1"
+ module="$2"
+ tag="$3"
+ cotag=""
+ update=""
- if [ "$tag" != "HEAD" ] ; then
- cvstag="-r $tag"
+ if [ "$tag" = "HEAD" ] ; then
+ cotag=""
+ uptag="-A"
+ else
+ cotag="-r $tag"
+ uptag="-r $tag"
fi
if [ -d "$dir" ] ; then
echo "$progname: Updating $dir to $tag"
- ( cd "$dir" && cvs up $cvstag )
+ ( cd "$dir" && cvs up -dP $uptag )
else
echo "$progname: Checking out $dir from $tag"
- cvs co $cvstag -d "$dir" "$module"
+ cvs co -P $cotag -d "$dir" "$module"
fi
}
cvs_cmd build lustre-build "$buildtag"
-cvs_cmd libsysio libsysio "$libsysiotag"
-cvs_cmd portals portals "$portalstag"
-cvs_cmd lustre lustre-core "$lustretag"
+
+if [ -f build/buildcvs ] ; then
+ . build/buildcvs
+else
+ fatal 1 "build/buildcvs does not exist; not updating other modules."
+fi