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
|
---|