SVN: Merge a branch with your trunk

Wednesday 20 December 2006

When created a TRY-branch a few days back to try some fancy new AJAX technology in my application. Not problems there, so now I want to merge the code in the branch with my trunk.

Since I'm a lone hacker, the trunk has not been touched since I created the branch. I have a checked-out working copy of the branch available.

Here's a handy-dandy guide on how to merge your branch code with your trunk.

Firstly, make sure you have a working copy of your trunk. I choose to switch my working copy back: (oh, make sure you have all your changes checked in in your branch before you switch!)

$ svn switch http://example.com/svn/myproject/trunk

This removes, adds and updates all files you have worked on in your branch and creates a working copy of the code in the trunk.

Now, with my trunk in place, I can call 'merge' and apply the changes.

$ svn merge http://example.com/svn/myproject/trunk http://example.com/svn/myproject/branches/TRY-AJAX

Since the files from the trunk and the beginning of the TRY-branch are still exact copies, I won't get in any trouble. If you do (and you did change your code in your trunk), make sure to resolve merging problems before checking in. When ready, check in your new code!

$ svn ci -m "Merge TRY-AJAX branch with trunk"

That's it. You have now merged the branch with your trunk. Enjoy!

Did you enjoy this post? Your generosity is much appreciated.