We are using feature branches in Subversion for our development which is a very convenient way of keeping code within version control that is not yet ready for the mainline. However, whenever I go to merge the feature branch revision into the mainline it is a pain. Right now I go through the following steps:
- Check out the original feature branch revision to a new directory
- Perform a difference between my current development and the original feature branch directories with a tool like Beyond Compare
- Check out the current mainline revision to a new directory
- Merge the new/changed files into the current mainline directory.
- Perform a difference using my IDE to ensure all of the files are properly checked out/added to subversion
- Compile and test
- Commit
It seems to me that there is a lot of room for errors in this process and it makes me nervous every time I walk through the steps. Granted, everything is checked into Subversion on my feature branch, so a mistake at any step is recoverable.
I believe that Subversion 1.5 has a way to merge a branch into the mainline, but we are still using Subversion 1.4. What are other people using to simplify the steps of merging a feature branch in Subversion into their mainline development? Are you using different tools? Are you utilizing the merging feature in Subversion 1.5?