#!/bin/sh progname="${0##*/}" warn () { [ "$1" ] && echo >&2 [ "$1" ] && echo "$progname: $1" >&2 [ "$1" ] && echo >&2 } fatal () { warn "$2" exit "$1" } usage () { cat <&2 exit 1 ;; --help | -h) usage exit 0 ;; # this is the branch table # keep this list sorted alphabetically! *) buildtag="HEAD" ;; esac cvs_cmd () { dir="$1" module="$2" tag="$3" cotag="" update="" 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 -dP $uptag ) else echo "$progname: Checking out $dir from $tag" cvs co $cotag -d "$dir" "$module" fi } cvs_cmd build lustre-build "$buildtag" if [ -f build/buildcvs ] ; then . build/buildcvs else fatal 1 "build/buildcvs does not exist; not updating other modules." fi