This document describes how to branch and merge with development branches and release branches. There are different rules on how to use them and how we work with them. Make sure to check if this document is still up-to-date before actually performing any actions.

Development branches

To create a branch, simply perform branching as it is described by the TortoiseSVN documentation. Select the DeltaShell folder and branch the folder to the 'branches' folder in the repository.

While developing, you should always try and keep the branch up-to-date with the trunk. In order to do so, select you branch and press 'merge'.Then merge a range of revisions and select the range that is not yet in your repository. I haven't done research, but you can probably also use 'all revisions' instead.

Update the trunk into the branch

Merging back into the trunk

Once you are done with your development branch, you can merge it back by choosing 'merge a range of revisions'. Make sure that you are up-to-date with the trunk. Then choose for 'all revisions'.

Merge all revisions back to the branch

Running tests in team city

To run your tests in team city as a personal build, you don't have to set up all new projects and such. You can simply merge your changes back into the trunk, but don't commit. Just run a personal build and then revert your trunk back to what it was.

Release branches

When a release is made. Simply make a branch as you would do for a development branch. There are only some extra rules about the merging process.

Working with a release branch

When a bugfix has to be done and it has to be in the release branch, fix the issue in the release branch and not in the trunk. Doing so makes sure that there is no unwanted code that comes from the trunk into the branch. Then, merge your changes into the trunk by picking the revision you want to commit. Make sure to commit the change with the commit message provided automatically via the 'recent messages' button. It will include the old message and the TOOLS number as well.

Never try to merge trunk revisions into the branch, it makes the process unclear if you do so.

Related work

Deprecated - Merging with TortoiseSVN (server <= 1.4)

  • No labels