case $parent in
HEAD) : ;;
- b_*|b1*) : ;;
+ b_*|b[1-4]*) : ;;
*) parent="b_$parent" ;;
esac
case $child in
HEAD) : ;;
- b_*|b1*) : ;;
+ b_*|b[1-4]*) : ;;
*) child="b_$child"
esac
exit 1
fi
+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 $TEST_FILE 2> /dev/null | grep -q " $1: " && return
+ echo "$0: tag $1 not found in $TEST_FILE"
+ exit 2
+}
+
+check_tag $parent
+check_tag ${CHILD}_BASE
+
cat << EOF > .mergeinfo
parent=$parent
PARENT=$PARENT
date=$date
module=$module
CONFLICTS=$CONFLICTS
+OPERATION=Update
+OPERWHERE=from
EOF
echo PARENT: $PARENT parent: $parent CHILD: $CHILD child: $child date: $date
echo "done"
echo -n "Recording conflicts in $CONFLICTS ..."
-if $CVS update | grep '^C' > $CONFLICTS; then
+if $CVS update | awk '/^C/ { print $2 }' > $CONFLICTS; then
echo "Conflicts found, fix before committing."
cat $CONFLICTS
else
fi
echo "done"
-echo "Test, commit and then run merge2.sh (no arguments)"
+echo "Build, test, commit and then run merge2.sh (no arguments)"