This wizard helps you merge changes between two states of a
project into your workspace. Often the Merge Wizard is used to move changes
from one branch into another, for example after splitting a branch to work on
a bug fix. The merge operation takes changes between two points in a branch,
the start point and the end point, and merges them into your
workspace. Typically the start point will be the root of a branch (version tag)
and the end point can either be the tip (latest and best) of the branch
or another version tag.
It is very important to understand that the destination of the merge is always the project in your workspace. After the merge has been completed you can test the changes locally and then commit them to the new branch (usually HEAD).
To start a merge, select a project (or one or more resources), and select Team > Merge... from the pop-up menu. The following dialog will appear.
First, you should choose the end tag of the merge. This is the branch or version being merged into the workspace. Choose a version when you want to merge the differences between two versions of a project into your workspace. Choose a branch if you want to merge the changes made in the branch into your local workspace.
The wizard will try to pick an appropriate tag for the start tag or base tag. If one cannot be determined, you should enter it manually. If there is no start tag, you can choose to merge without a preview, in which case a start tag is not required but the merge will happen directly into the workspace. The drawback of this is that CVS uses a text base markup to identify conflicts and this is cumbersome to work with.
If the merge preview option is selected, after the finish button is pressed, the changes between the start point and end point are calculated and displayed as a CVS Merge Synchronization in the Synchronize view. Depending on the size of the project you are merging, this may take some time but can be run in the background. In the Synchronize view you can update or merge changes into your Workbench. Also, you have the option to automatically merge non-conflicting changes which means you will only need to deal with the conflicting changes in the Synchronize view.