Whamcloud - gitweb
- debug info to investigate a source of small writes
[fs/lustre-release.git] / lustrecvs
index 6105c5b..f6f62ef 100755 (executable)
--- a/lustrecvs
+++ b/lustrecvs
@@ -19,19 +19,29 @@ fatal ()
 usage ()
 {
     cat <<EOF
-Usage: $progname lustretag
-  where lustretag is a tag of the lustre-core module
+Usage: $progname <lustretag>
+  where <lustretag> is a tag of the lustre-core module
 EOF
 }
 
 if [ -z "$LUSTRECVS_UPDATED" ] ; then
-    cvs up "$0" || fatal 1 "Error updating lustrecvs"
+    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
     '')
@@ -44,6 +54,12 @@ case "$lustretag" in
        exit 0
        ;;
 
+    b1_4_newconfig*)
+        buildtag="b_lnet"
+        ;;
+
+    v*) buildtag=$lustretag ;;
+
     # this is the branch table
     # keep this list sorted alphabetically!
 
@@ -53,6 +69,7 @@ case "$lustretag" in
 
 esac
 
+error_modules=
 cvs_cmd ()
 {
     dir="$1"
@@ -64,9 +81,12 @@ cvs_cmd ()
     if [ "$tag" = "HEAD" ] ; then
        cotag=""
        uptag="-A"
-    else
+    elif [ "$tag" ] ; then
        cotag="-r $tag"
        uptag="-r $tag"
+    else
+       # silently skip if no tag was specified
+       return
     fi
 
     if [ -d "$dir" ] ; then
@@ -76,6 +96,9 @@ cvs_cmd ()
        echo "$progname: Checking out $dir from $tag"
        cvs co -P $cotag -d "$dir" "$module"
     fi
+    if [ $? != 0 ] ; then
+       error_modules="$dir $error_modules"
+    fi
 }
 
 cvs_cmd build lustre-build "$buildtag"
@@ -85,3 +108,7 @@ if [ -f build/buildcvs ] ; then
 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