Whamcloud - gitweb
Branch HEAD
[fs/lustre-release.git] / build / land1.sh
index 6b69eae..c21f3b9 100755 (executable)
@@ -1,4 +1,4 @@
-#!/bin/sh -e 
+#!/bin/bash -e 
 
 progname=${0##*/}
 
@@ -27,10 +27,10 @@ CHILD=`echo $child | sed -e "s/^b_//" | tr "[a-z]" "[A-Z]"`
 date=`date +%Y%m%d_%H%M`
 
 dir=${3:-.}
-module=$(<$dir/CVS/Repository)
+module=$(basename $(<$dir/CVS/Repository))
 
 if [ "$module" = "lustre" ] ; then
-    echo >&2 "${progname}: You probably want to branch lustre or portals, not the whole tree."
+    echo >&2 "${progname}: You probably want to land lustre or lnet, not the whole tree."
     echo >&2 "${progname}: Try using ${0} $parent $child lustre"
     exit 1
 fi
@@ -55,7 +55,7 @@ TEST_FILE=${TEST_FILE:-ChangeLog} # does this need to be smarter?
 check_tag() {
        [ -z "$1" ] && echo "check_tag() missing arg" && exit3
        [ "$1" = "HEAD" ] && return
-       $CVS log $dir/$TEST_FILE 2> /dev/null | grep -q "       $1: " && return
+       $CVS log ${dir%%/*}/$TEST_FILE 2> /dev/null | grep -q " $1: " && return
        echo "${progname}: tag $1 not found in $dir/$TEST_FILE"
        exit 2
 }
@@ -88,25 +88,26 @@ else
 fi
 echo "done"
 
-echo -n "Tagging as ${PARENT}_${CHILD}_LAND_PARENT_$date ..."
-$CVS tag ${PARENT}_${CHILD}_LAND_PARENT_$date $dir
+echo -n "Create land-to point on $parent as ${PARENT}_${CHILD}_LAND_PARENT_$date ..."
+$CVS rtag -r $parent ${PARENT}_${CHILD}_LAND_PARENT_$date $module
 echo "done"
 
-echo -n "Create land point on ${child} ${PARENT}_${CHILD}_LAND_CHILD_$date ..."
-$CVS rtag -r ${child} ${PARENT}_${CHILD}_LAND_CHILD_$date $module $dir
+echo -n "Create land-from point on ${child} ${PARENT}_${CHILD}_LAND_CHILD_$date ..."
+$CVS rtag -r ${child} ${PARENT}_${CHILD}_LAND_CHILD_$date $module
 echo "done"
 
-echo -n "Preserve old base tag ${CHILD}_BASE as ${CHILD}_BASE_PREV ..."
-$CVS tag -F -r ${CHILD}_BASE ${CHILD}_BASE_PREV $dir
+echo -n "Preserve old base tag on $parent ${CHILD}_BASE as ${CHILD}_BASE_PREV ..."
+$CVS rtag -F -r ${CHILD}_BASE ${CHILD}_BASE_PREV $module
 echo "done"
 
 # Apply all of the changes to your local tree:
 echo -n "Updating as -j ${CHILD}_BASE -j ${PARENT}_${CHILD}_LAND_CHILD_$date ..."
-$CVS update -j ${CHILD}_BASE -j ${PARENT}_${CHILD}_LAND_CHILD_$date $dir
+$CVS update -j ${CHILD}_BASE -j ${PARENT}_${CHILD}_LAND_CHILD_$date -dP $dir
 echo "done"
 
 echo -n "Recording conflicts in $CONFLICTS ..."
-if $CVS update | grep '^C' > $CONFLICTS; then
+$CVS update | awk '/^C/ { print $2 }' > $CONFLICTS
+if [ -s $CONFLICTS ] ; then
     echo "Conflicts found, fix before committing."
     cat $CONFLICTS
 else