[10948] | 1 | #!/bin/bash
|
---|
| 2 | #Script to synchronize trunk and trunk-jpl
|
---|
| 3 | #http://svnbook.red-bean.com/nightly/en/svn.branchmerge.advanced.html#svn.branchmerge.advanced.reintegratetwice
|
---|
| 4 | #
|
---|
| 5 | #
|
---|
| 6 | # ___A___________________X______________________________ trunk
|
---|
| 7 | # \ \ /
|
---|
| 8 | # \ merge \ / reintegrate
|
---|
| 9 | # \____________ B _________________________________ trunk-jpl (branch)
|
---|
| 10 | #
|
---|
| 11 | #Step 1: update both branches
|
---|
| 12 | #Step 2: merge trunk back to trunk-jpl
|
---|
| 13 | # cd trunk-jpl
|
---|
| 14 | # svn merge -r A:HEAD ../trunk
|
---|
| 15 | # svn commit -m "merged trunk and trun-jpl for revision HEAD"
|
---|
| 16 | #Step 3: reintegrate trunk-jpl in trunk
|
---|
| 17 | # cd trunk
|
---|
| 18 | # svn merge --reintegrate https://issm.ess.uci.edu:80/svn/issm/issm/trunk-jpl
|
---|
| 19 | # svn commit -m "merged trunk-jpl and trunk for revision HEAD"
|
---|
| 20 | #Step 4: record reintegration
|
---|
| 21 | # svn merge --record-only -c X ../trunk
|
---|
| 22 | # svn commit -m "Block revision X from being merged into trunk-jpl"
|
---|
| 23 |
|
---|
| 24 | STEP=1
|
---|
| 25 | LASTMERGEREVISION=10943
|
---|
| 26 |
|
---|
| 27 | #Check user
|
---|
| 28 | if [[ $(users) != "morlighe" ]]; then
|
---|
| 29 | echo "you are not allowed to synchronize trunk and trunk-jpl" && exit 1
|
---|
| 30 | fi
|
---|
| 31 |
|
---|
| 32 | #get paths
|
---|
| 33 | CURRENTPATH=$(pwd)
|
---|
| 34 | cd ../..
|
---|
| 35 | PREFIX=$(pwd)
|
---|
| 36 | cd $CURRENTPATH
|
---|
| 37 |
|
---|
| 38 | if [ "$STEP" -eq "1" ]; then
|
---|
| 39 | echo "--- Step 1: updating trunk and trunk-jpl ---"
|
---|
| 40 | cd $PREFIX/trunk
|
---|
| 41 | svn update
|
---|
| 42 | cd $PREFIX/trunk-jpl
|
---|
| 43 | svn update
|
---|
| 44 | fi
|
---|
| 45 | if [ "$STEP" -eq "2" ]; then
|
---|
| 46 | echo "--- Step 2: merging trunk in trunk-jpl ---"
|
---|
| 47 | cd $PREFIX/trunk-jpl
|
---|
| 48 | svn merge -r $LASTMERGEREVISION:HEAD ../trunk
|
---|
| 49 | fi
|
---|
| 50 | if [ "$STEP" -eq "3" ];
|
---|
| 51 | then
|
---|
| 52 | echo "--- Step 3: reintegrate trunk-jpl in trunk ---"
|
---|
| 53 | cd $PREFIX/trunk
|
---|
| 54 | B=$(svnversion .)
|
---|
| 55 | svn merge --reintegrate https://issm.ess.uci.edu:80/svn/issm/issm/trunk-jpl
|
---|
| 56 | svn commit -m "merged trunk-jpl and trunk for revision $B"
|
---|
| 57 | fi
|
---|
| 58 | if [ "$STEP" -eq "4" ];
|
---|
| 59 | then
|
---|
| 60 | echo "--- Step 4: record reintegration ---"
|
---|
| 61 | cd $PREFIX/trunk-jpl
|
---|
| 62 | X=$(svnversion .)
|
---|
| 63 | svn merge --record-only -c $X ../trunk
|
---|
| 64 | svn commit -m "Block revision $X from being merged into trunk-jpl"
|
---|
| 65 | fi
|
---|