Whamcloud - gitweb
Remove trailing /lustre from lustre/ldlm/lustre pathnames.
[fs/lustre-release.git] / lustrecvs
index 433c616..b2b21f5 100755 (executable)
--- a/lustrecvs
+++ b/lustrecvs
@@ -1,5 +1,6 @@
 #!/bin/sh
 
+LC_COLLATE="C"
 progname="${0##*/}"
 
 warn ()
@@ -23,11 +24,17 @@ Usage: $progname lustretag
 EOF
 }
 
-# portalstag="HEAD"
-portalstag="b1_4"
+if [ -z "$LUSTRECVS_UPDATED" ] ; then
+    echo "$progname: updating lustrecvs"
+    cvs up -l || fatal 1 "Error updating lustrecvs"
+    export LUSTRECVS_UPDATED=yes
+    exec "$0" "$@"
+fi
+
 buildtag="HEAD"
+lustretag="$1"
 
-case "$1" in
+case "$lustretag" in
     '')
         warn "a lustretag is required."
        usage >&2
@@ -41,27 +48,41 @@ case "$1" in
     # this is the branch table
     # keep this list sorted alphabetically!
 
-    b1_4_bgl)
-       portalstag="b1_4_bgl"
+    *)
+        buildtag="HEAD"
        ;;
 
 esac
 
 cvs_cmd ()
 {
-    local dir="$1"
-    local module="$2"
-    local tag="$3"
+    dir="$1"
+    module="$2"
+    tag="$3"
+    cotag=""
+    update=""
+
+    if [ "$tag" = "HEAD" ] ; then
+       cotag=""
+       uptag="-A"
+    else
+       cotag="-r $tag"
+       uptag="-r $tag"
+    fi
 
     if [ -d "$dir" ] ; then
-       echo "$progname: Updating $dir to -r $tag"
-       ( cd "$dir" && cvs up -r "$tag" )
+       echo "$progname: Updating $dir to $tag"
+       ( cd "$dir" && cvs up -dP $uptag )
     else
-       echo "$progname: Checking out $dir from -r $tag"
-       cvs co -r "$tag" -d "$dir" "$module"
+       echo "$progname: Checking out $dir from $tag"
+       cvs co -P $cotag -d "$dir" "$module"
     fi
 }
 
-cvs_cmd build build "$buildtag"
-cvs_cmd portals portals "$portalstag"
-cvs_cmd lustre lustre-core "$lustretag"
+cvs_cmd build lustre-build "$buildtag"
+
+if [ -f build/buildcvs ] ; then
+    . build/buildcvs
+else
+    fatal 1 "build/buildcvs does not exist; not updating other modules."
+fi