X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=blobdiff_plain;f=lustrecvs;h=c64723589aa522a49ecc7a8919ec664cd83ec541;hp=6105c5b09c9fc74bc4f20b2a1b4ea0fc395bc56e;hb=6af10b9e7559e2522dc2890905a8ef5fd0734952;hpb=fa21918ca820dc70cfcff1a283fd6acb3fb817d4 diff --git a/lustrecvs b/lustrecvs index 6105c5b..c647235 100755 --- a/lustrecvs +++ b/lustrecvs @@ -19,19 +19,29 @@ fatal () usage () { cat < + where is a tag of the lustre-core module EOF } if [ -z "$LUSTRECVS_UPDATED" ] ; then - cvs up "$0" || fatal 1 "Error updating lustrecvs" + echo "$progname: updating lustrecvs" + cvs up -l || fatal 1 "Error updating lustrecvs" export LUSTRECVS_UPDATED=yes exec "$0" "$@" fi +[ "$1" = "-r" ] && shift + buildtag="HEAD" lustretag="$1" +shift + +if [ "$*" ] ; then + usage >&2 + exit 1 +fi + case "$lustretag" in '') @@ -44,6 +54,16 @@ case "$lustretag" in exit 0 ;; + # 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) + buildtag="HEAD" + ;; + + b_release_1_4_6-patchless) buildtag=b_release_1_4_6 ;; + + v* | b_release*) buildtag=$lustretag ;; + # this is the branch table # keep this list sorted alphabetically! @@ -53,6 +73,7 @@ case "$lustretag" in esac +error_modules= cvs_cmd () { dir="$1" @@ -64,9 +85,12 @@ cvs_cmd () if [ "$tag" = "HEAD" ] ; then cotag="" uptag="-A" - else + elif [ "$tag" ] ; then cotag="-r $tag" uptag="-r $tag" + else + # silently skip if no tag was specified + return fi if [ -d "$dir" ] ; then @@ -76,6 +100,9 @@ cvs_cmd () echo "$progname: Checking out $dir from $tag" cvs co -P $cotag -d "$dir" "$module" fi + if [ $? != 0 ] ; then + error_modules="$dir $error_modules" + fi } cvs_cmd build lustre-build "$buildtag" @@ -85,3 +112,7 @@ if [ -f build/buildcvs ] ; then else fatal 1 "build/buildcvs does not exist; not updating other modules." fi + +if [ "$error_modules" ] ; then + fatal 1 "There were errors checking out the following directories: $error_modules" +fi