X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=blobdiff_plain;f=lustrecvs;h=fa24a0135ee0e7a669af648ed03e52528c108712;hp=775cadefcb7ae3ebb69f27ed59437b557188f23c;hb=db38eca8539f41b2a2a7bf689b9b263c232d540c;hpb=cc434eefc13734515b43492882dca440c46a10db diff --git a/lustrecvs b/lustrecvs index 775cade..fa24a01 100755 --- a/lustrecvs +++ b/lustrecvs @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/bash LC_COLLATE="C" progname="${0##*/}" @@ -19,8 +19,9 @@ fatal () usage () { cat < +Usage: $progname where is a tag of the lustre-core module + and is an optional quoted timestamp suitable for cvs -D EOF } @@ -36,13 +37,14 @@ fi buildtag="HEAD" lustretag="$1" shift +pindate=$1 +shift if [ "$*" ] ; then usage >&2 exit 1 fi - case "$lustretag" in '') warn "a lustretag is required." @@ -54,20 +56,26 @@ case "$lustretag" in exit 0 ;; - b1_4_newconfig*|b_newconfig_rdmarouting*|b1_4_mountconf*) - buildtag="b_lnet" - ;; + # this is the branch table + # keep this list sorted alphabetically! - # These releases use the b_lnet build - v1_4_5_91) - buildtag="b_lnet" - ;; + # These use special build directories + + b1_4*) buildtag="b1_4" ;; + + b_release_1_4_6-patchless) buildtag="b1_4" ;; + b_release_1_4_7-test) buildtag="b_release_1_4_7" ;; - # Apparently these releases did not get build tagged for them... + b_release*) buildtag=$lustretag ;; + + b_uoss) buildtag=$lustretag ;; + + # 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" + buildtag="b1_4" ;; - + v*) buildtag=$lustretag ;; # this is the branch table @@ -76,7 +84,6 @@ case "$lustretag" in *) buildtag="HEAD" ;; - esac error_modules= @@ -89,25 +96,33 @@ cvs_cmd () update="" if [ "$tag" = "HEAD" ] ; then - cotag="" - uptag="-A" + cotag="" + uptag="-A" elif [ "$tag" ] ; then - cotag="-r $tag" - uptag="-r $tag" + cotag="-r $tag" + uptag="-r $tag" + else + # silently skip if no tag was specified + return + fi + + # create a cvs date format that will survive shell expansion + if [ -n "$pindate" ]; then + datecmd=$(date -u +%s -d "$pindate") + datecmd="-D @$datecmd" else - # silently skip if no tag was specified - return + datecmd="" fi if [ -d "$dir" ] ; then - echo "$progname: Updating $dir to $tag" - ( cd "$dir" && cvs up -dP $uptag ) + echo "$progname: Updating $dir to $tag" + ( cd "$dir" && cvs up $datecmd -dAP $uptag ) else - echo "$progname: Checking out $dir from $tag" - cvs co -P $cotag -d "$dir" "$module" + echo "$progname: Checking out $dir from $tag" + cvs co $datecmd -P $cotag -d "$dir" "$module" fi if [ $? != 0 ] ; then - error_modules="$dir $error_modules" + error_modules="$dir $error_modules" fi }