X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=lustrecvs;h=0cabc3d4bbf5ffc19fd566d4b7c7e847c1695070;hb=02b8c957baa3b8742bbcde895a22ad498c6fbe25;hp=46168d6f69a71e1788a02142687d30b7939685f2;hpb=d86f42058c783baf1e9c1855616cb83832bf34e9;p=fs%2Flustre-release.git diff --git a/lustrecvs b/lustrecvs index 46168d6..0cabc3d 100755 --- a/lustrecvs +++ b/lustrecvs @@ -25,6 +25,8 @@ Usage: $progname EOF } +[ "$1" = "-r" ] && shift + if [ -z "$LUSTRECVS_UPDATED" ] ; then echo "$progname: updating lustrecvs" @@ -39,8 +41,6 @@ if [ -z "$LUSTRECVS_UPDATED" ] ; then exec "$0" "$@" fi -[ "$1" = "-r" ] && shift - buildtag="HEAD" lustretag="$1" shift @@ -68,8 +68,12 @@ case "$lustretag" in # 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" ;; @@ -88,6 +92,8 @@ case "$lustretag" in # this is the branch table # keep this list sorted alphabetically! + *_gate) buildtag="b_build_gate" ;; + *) buildtag="HEAD" ;; @@ -185,6 +191,68 @@ EOF fi } +git_cmd () +{ + dir="$1" + repository="$2" + branch="$3" + base_url="$4" + + if [ ! "$branch" ]; then + return + fi + + if ! which git &> /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