Whamcloud - gitweb
5240fa9228a8965f1b1c44c73af20374f50ccfe3
[fs/lustre-release.git] / lustre / scripts / branch.sh
1 #!/bin/sh -e 
2 CVS=${CVS:-cvs}
3
4 if [ $# != 2 ]; then
5     echo "This creates a new branch in CVS. Usage: $0 parent child"
6     exit
7 fi
8
9 parent=$1
10 child=$2
11 CHILD=`echo $child | sed -e "s/^b_//" | tr "[a-z]" "[A-Z]"`
12 date=`date +%Y%m%d_%H%M`
13 module=lustre
14
15 case $parent in
16   HEAD) : ;;
17   b_*|b1*) : ;;
18   *) parent="b_$parent" ;;
19 esac
20 case $child in
21   HEAD) : ;;
22   b_*|b1*) : ;;
23   *) child="b_$child"
24 esac
25
26 if [ "$parent" != "HEAD" -a "`cat CVS/Tag`" != "T$parent" ]; then
27         echo "This script must be run within the $parent branch"
28         exit 1
29 fi
30
31 echo parent: $parent CHILD: $CHILD child: $child date: $date
32
33 echo -n "tagging $parent as '${CHILD}_BASE_$date' ..."
34 $CVS rtag -r $parent ${CHILD}_BASE_$date $module
35 echo "done"
36 echo -n "tagging ${CHILD}_BASE_$date as '${CHILD}_BASE' ...."
37 $CVS rtag -r ${CHILD}_BASE_$date ${CHILD}_BASE $module
38 echo "done"
39 echo -n "branching $child at ${CHILD}_BASE' ...."
40 $CVS rtag -b -r ${CHILD}_BASE $child $module
41 echo "done"
42 echo -n "updating to $child ...."
43 $CVS update -r $child
44 echo "done"