When I am in production and have issue that has big influence to the others, I always make a branch from trunk in order to not bother development other developer, if my issue has finished, I just have to merge my branch to trunk. then how? there are several way to through it, some of which are :
- Using visual diff/merge tool like meld
- Using reintegrate svn command.
For easily way, especially if your changes is not too much. You can using merge tool application that you can find in internet (remember if it’s paid application, the property is belong to respective owners). I am usually using meld, very easy to use. You can check the diff in file, folder and svn! 😀
Then how if the changes you made are too big? simple, I will show you the way how to integrate between 2 branch using subversion. in this example, we are agree that example url are :
trunk url : https://foo.com/svn/Projects/foo/trunk branch url : https://foo.com/svn/Projects/foo/branches/foo-123
these are the step :
- Switch your current development branch to trunk
For example, in your local folder, you have branch with url “https://foo.com/svn/Projects/foo/branches/foo-123”, then you have to switch to trunk url path :
svn switch https://foo.com/svn/Projects/foo/trunk
If there are conflict with your code, you have to decide manually by your self about the change, in this case you can using meld.
- Reintegrate the local folder to your branch
Now, you have local folder with trunk url, because if you remember, in step above, you have switch to trunk url. execute command below :
svn merge --reintegrate https://foo.com/svn/Projects/foo/branches/foo-123
in this step, you have to make sure the result is success, to ensure it. you have to compile your application, if you are using maven, just do “mvn clean install”, then if there are no errors, you have done a great job, you are ready to commit your work 😀
as simple as that right?