If you’re like me, when using subversion, you have a trunk, and then you create branches for code fixes and enhancements.
But if you’re like me, you already know how to do this and so reading this is a waste of your time. But if you’re REALLY like me, you don’t remember all of these bits and pieces and you need to write it down. This is me writing it down.
Let’s pretend you have a branch located in https://svn.com/branches/JIRA-03923 that is all tested and ready to merge into the trunk, here’s how I would do it.
Grab a fresh checkout of JIRA-03923
svn co https://svn.com/branches/JIRA-03923
That creates a directory JIRA-03923.
Now I merge all of the changes that have happened in trunk into the branch.
svn merge https://svn.com/trunk
Commit those changes to the branch.
svn commit -m "Merged changes from trunk to this branch."
Now I grab a fresh checkout of the trunk.
cd .. svn co https://svn.com/trunk
This creates a “trunk” directory. If you want to create a different directory provide one as a parameter like svn co https://svn.com/trunk JunkInMyTrunk. That puts all that junk your trunk.
Now reintegrate the changes from the branch to trunk.
svn merge --reintegrate https://svn.com/branches/JIRA-03923
Commit those changes to the trunk.
svn commit -m "Merged all changes from JIRA-03923 branch into trunk"
That branch is now useless and I remove it.
svn delete https://svn.com/branches/JIRA-03923 -m "Removing unnecessary branch"