X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=lustrecvs;h=4436462b5c895e1fdcddc9f88a8b20e414ec0a6e;hb=3625f22f6780b3e5fb2107d1bbb6b1c24f7fdae3;hp=982e9d97bcd449be232ec33723bdbb4ea1a9f798;hpb=8db6a142bf0ff7b84f22814b3b507eb21342a2da;p=fs%2Flustre-release.git diff --git a/lustrecvs b/lustrecvs index 982e9d9..4436462 100755 --- a/lustrecvs +++ b/lustrecvs @@ -1,5 +1,6 @@ #!/bin/sh +LC_COLLATE="C" progname="${0##*/}" warn () @@ -18,13 +19,29 @@ fatal () usage () { cat < + where is a tag of the lustre-core module EOF } +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" lustretag="$1" +shift + +if [ "$*" ] ; then + usage >&2 + exit 1 +fi + case "$lustretag" in '') @@ -48,21 +65,26 @@ esac cvs_cmd () { - local dir="$1" - local module="$2" - local tag="$3" - local cvstag="" + dir="$1" + module="$2" + tag="$3" + cotag="" + update="" - if [ "$tag" != "HEAD" ] ; then - cvstag="-r $tag" + 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 $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 }