X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=lustrecvs;h=4436462b5c895e1fdcddc9f88a8b20e414ec0a6e;hb=3625f22f6780b3e5fb2107d1bbb6b1c24f7fdae3;hp=e9c8b9a5864f855460fbe535f3ebf7cda00db196;hpb=2ec4f8cc2c890edcd2199c92113438c8584b78b7;p=fs%2Flustre-release.git diff --git a/lustrecvs b/lustrecvs index e9c8b9a..4436462 100755 --- a/lustrecvs +++ b/lustrecvs @@ -1,5 +1,6 @@ #!/bin/sh +LC_COLLATE="C" progname="${0##*/}" warn () @@ -18,32 +19,31 @@ fatal () usage () { cat < + where is a tag of the lustre-core module EOF } -case "$1" in - '') - warn "a command is required." - usage >&2 - exit 1 - ;; - --help | -h) - usage - exit 0 - ;; - checkout | co | get | rtag | rt | rfreeze | tag | ta | freeze | update | up | upd) - cvscommand="$1" - ;; - *) - usage >&2 - exit 1 - ;; -esac +if [ -z "$LUSTRECVS_UPDATED" ] ; then + echo "$progname: updating lustrecvs" + cvs up -l || fatal 1 "Error updating lustrecvs" + export LUSTRECVS_UPDATED=yes + exec "$0" "$@" +fi + +[ "$1" = "-r" ] && shift -case "$2" in +buildtag="HEAD" +lustretag="$1" +shift + +if [ "$*" ] ; then + usage >&2 + exit 1 +fi + + +case "$lustretag" in '') warn "a lustretag is required." usage >&2 @@ -57,27 +57,41 @@ case "$2" in # this is the branch table # keep this list sorted alphabetically! - b1_4) - portalstag="HEAD" - lustretag="b1_4" - ;; - b1_4_bgl) - portalstag="b1_4_bgl" - lustretag="b1_4_bgl" - ;; - b_cray) - portalstag="HEAD" - lustretag="b_cray" - ;; - HEAD) - portalstag="HEAD" - lustretag="HEAD" - ;; - *) - fatal 1 "This script does not contain branch information for $2. Please update the branch table if necessary." + buildtag="HEAD" ;; + esac -cvs $cvscommand -r $portalstag portals -cvs $cvscommand -r $lustretag -d lustre lustre-core +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 -P $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