Whamcloud - gitweb
Landing b_recovery
[fs/lustre-release.git] / lustre / scripts / merge1.sh
1 #!/bin/sh -e 
2
3 CVS=cvs
4
5 if [ -f .mergeinfo ] ; then
6     echo ".mergeinfo exists - clean up first"
7     exit 
8 fi
9
10 if [ -f merge-conflicts ] ; then
11     echo "cvs-merge-conflicts exists - clean up first"
12     exit 
13 fi
14
15 if [ $# != 2 ]; then
16     echo "This is phase 1 of merging branches. Usage: $0 parent child"
17     exit
18 fi
19
20 parent=$1
21 PARENT=`echo $parent | tr '[a-z]' '[A-Z]'`
22 child=$2
23 CHILD=`echo $child | tr '[a-z]' '[A-Z]'`
24 date=`date +%Y%m%d_%H%M`
25 module=lustre
26
27 if [ $parent != "HEAD" ]; then
28   parent="b_$parent"
29 fi
30 if [ $child != "HEAD" ]; then
31   child="b_$child"
32 fi
33
34 cat << EOF > .mergeinfo
35 parent=$parent
36 PARENT=$PARENT
37 child=$child
38 CHILD=$CHILD
39 date=$date
40 module=$module
41 EOF
42
43 echo PARENT $PARENT parent $parent CHILD $CHILD child $child date $date
44
45 echo -n "tagging $parent as ${PARENT}_${CHILD}_UPDATE_PARENT_$date ...."
46 $CVS rtag -r $parent ${PARENT}_${CHILD}_UPDATE_PARENT_$date $module
47 echo "done"
48 echo -n "tagging $child as ${PARENT}_${CHILD}_UPDATE_CHILD_$date ...."
49 $CVS rtag -r $child ${PARENT}_${CHILD}_UPDATE_CHILD_$date $module
50 echo "done"
51 echo "Updating: -j ${CHILD}_BASE -j ${PARENT}_${CHILD}_UPDATE_PARENT_$date ...."
52 $CVS update -j ${CHILD}_BASE -j ${PARENT}_${CHILD}_UPDATE_PARENT_$date -dP
53 echo "done"
54 echo -n "Recording conflicts in cvs-merge-conflicts ..."
55 if $CVS update | grep '^C' > cvs-merge-conflicts; then
56     echo "Conflicts found, fix before committing."
57     cat cvs-merge-conflicts
58 else 
59     echo "No conflicts found"
60 fi
61 echo "Test, commit and then run merge2.sh (no arguments)"