X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=blobdiff_plain;f=lustrecvs;h=86eb3cbf2569094af1a73060cedc33f04324f29b;hp=b0f80885881fd3b8e3f4a9f3d92af45d560c947f;hb=024f73f167a23cefba8f5a63fd6d969914900208;hpb=efb98ac868f15a8fcb0ff6bc8ca545b26c90ae5c diff --git a/lustrecvs b/lustrecvs index b0f8088..86eb3cb 100755 --- a/lustrecvs +++ b/lustrecvs @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/bash LC_COLLATE="C" progname="${0##*/}" @@ -27,7 +27,14 @@ EOF if [ -z "$LUSTRECVS_UPDATED" ] ; then echo "$progname: updating lustrecvs" - cvs up -l || fatal 1 "Error updating lustrecvs" + + # If checking out a specific tag, make sure all of the files here are also + # checked out with the same tag to avoid later changes breaking things. + case "$1" in + v*|b_release_*) TAG="-r $1" ;; + esac + + cvs update -l $TAG export LUSTRECVS_UPDATED=yes exec "$0" "$@" fi @@ -59,13 +66,21 @@ case "$lustretag" in # this is the branch table # keep this list sorted alphabetically! + # These use special build directories + + # Maintenance mode -- isolate build system changes b1_4*) buildtag="b1_4" ;; + # Maintenance mode -- isolate build system changes + b1_6*) buildtag="b1_6" ;; + b_release_1_4_6-patchless) buildtag="b1_4" ;; b_release_1_4_7-test) buildtag="b_release_1_4_7" ;; 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) @@ -77,6 +92,8 @@ case "$lustretag" in # this is the branch table # keep this list sorted alphabetically! + *_gate) buildtag="b_build_gate" ;; + *) buildtag="HEAD" ;; @@ -122,6 +139,120 @@ cvs_cmd () fi } +hg_cmd () +{ + dir="$1" + base_url="$2" + repository="$3" + + if [ ! "$repository" ]; then + return + fi + + if ! which hg &> /dev/null; then + cat < /dev/null; then + cat < /dev/null + + # Fetch new objects + git fetch "$url" "$branch" + + # Create branch if it doesn't exist already (e.g. we switched branches) + [ $? -eq 0 ] && $($(git branch -b $branch origin/$branch &> /dev/null) || true) + + # Rebase local commits + [ $? -eq 0 ] && git rebase origin/$branch $branch + + rc=$? + + popd > /dev/null + else + echo "$progname: Checking out $dir" + git clone "$url" "$dir" + rc=$? + + if [ $rc -eq 0 -a "$branch" != "master" ]; then + ( cd "$dir" && git checkout -b $branch origin/$branch ) + rc=$? + fi + fi + + if [ $rc -ne 0 ] ; then + error_modules="$dir $error_modules" + fi +} + cvs_cmd build lustre-build "$buildtag" if [ -f build/buildcvs ] ; then