X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=blobdiff_plain;f=lustrecvs;h=2bb3725ee20dd8632c35399099d388164fc493ef;hp=cac91c1dddee7fe8cd64e26d8cb2d6a82985f16c;hb=16dcdf3b09ee15eb8bd5b43cbe413dff72bf3bca;hpb=e9a55d0396337bb31f08d06a520185cbe09aedd3 diff --git a/lustrecvs b/lustrecvs index cac91c1..2bb3725 100755 --- a/lustrecvs +++ b/lustrecvs @@ -1,5 +1,6 @@ #!/bin/sh +LC_COLLATE="C" progname="${0##*/}" warn () @@ -18,16 +19,29 @@ fatal () usage () { cat < + where 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 + +[ "$1" = "-r" ] && shift + buildtag="HEAD" -portalstag="b1_4" lustretag="$1" -libsysiotag="head_0607" +shift + +if [ "$*" ] ; then + usage >&2 + exit 1 +fi + case "$lustretag" in '') @@ -40,43 +54,65 @@ case "$lustretag" in exit 0 ;; - # this is the branch table - # keep this list sorted alphabetically! + # 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="HEAD" ;; - b1_4_bgl) - portalstag="b1_4_bgl" - ;; + v* | b_release*) buildtag=$lustretag ;; - b_newsysio | b_sec) - libsysiotag="head_0809" - ;; + # this is the branch table + # keep this list sorted alphabetically! - b_port_step) - portalstag="b_port_step" + *) + buildtag="HEAD" ;; esac +error_modules= cvs_cmd () { - local dir="$1" - local module="$2" - local tag="$3" + dir="$1" + module="$2" + tag="$3" + cotag="" + update="" - if [ "$tag" != "HEAD" ] ; then - cvstag="-r $tag" + if [ "$tag" = "HEAD" ] ; then + cotag="" + uptag="-A" + elif [ "$tag" ] ; then + cotag="-r $tag" + uptag="-r $tag" + else + # silently skip if no tag was specified + return 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 + if [ $? != 0 ] ; then + error_modules="$dir $error_modules" 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 + +if [ "$error_modules" ] ; then + fatal 1 "There were errors checking out the following directories: $error_modules" +fi