I’ve been away from code and SVN branch merges a little recently so I forgot the exact process of handling multiple branches merging up and down from trunk.
After a little thought and partially effective googling, i found that the following is an efficient process:
Introduction – What I had
- trunk
- branch_a created at SVN revision 2111
- branch_b created at SVN revision 2113
Step 1 – Preparation – Checkout local copies of trunk, branch_a, and branch_b
- cd ~/
- svn co http://svn_repository/trunk ./trunk
- svn co http://svn_repository/branches/branch_a ./branch_a
- svn co http://svn_repository/branches/branch_b ./branch_b
- I ensured that all changes had been committed to trunk and both branches
Step 2 – Merging branch_a back to trunk after a successful rollout
- cd ~/trunk
- svn merge http://svn_repository/trunk http://svn_repository/branches/branch_a
- svn commit -m “merged branch_a into trunk”
Step 3 – Merging the newly updated trunk into branch_b
- cd ~/branch_b
- svn merge http://svn_repository/trunk -r2113:HEAD .
- svn commit -m “merged up from trunk, applying changes between 2113:HEAD that included changes made on branch_a”
Step 4 – When i’m ready, i’ll merge branch_b back into trunk, following Step 2 above
That’s it!
Turns out EasyB is not what we need as it requires that plain text stories be littered with exeution code. Not what we want.
We’ve opted for JBehave (http://jbehave.org/) instead
another useful command:
svn log –stop-on-copy