# Merging from a branch

After creating and working in a CVS branch for some time, you may want to merge your changes from the branch into another branch, or into HEAD. To do this, you will need to know:

1. The name of the branch or version that contains your changes.
2. The version from which the branch was created. This is the version name that you supplied when branching.

To merge your changes:

1. Ensure that the destination is loaded into your workspace. For example, if you wish to merge your changes into HEAD, make sure the project is shared with HEAD in your workspace. To do this, select the project and choose Replace With > Another Branch or Version from the context menu. Then select the branch to replace with.
2. Select the project and choose Team > Merge.
3. Enter the start point of the merge. This is the version from which the branch was created. Click Next.
4. Enter the branch or version which contains the changes you want to merge. Click Finish.
5. A CVS Merge synchronization will be added to the Synchronize view, showing all differences between your workspace and the branch with the changes.
6. Load all of the desired changes into the workspace. This may be accomplished by either manually merging changes, or by choosing Update, Override and Update, or Mark as Merged from the tree's context menu.
7. After all desired changes are in the workspace, choose Team > Synchronize with Repository. You may then commit all the changes to the repository.

### Merge actions

The actions in the merge editor complement the manual merge toolbar actions that are available in the bottom half of the merge editor.

Update | Running this action will bring the changes into the file in the workspace. Any conflicts that are not auto-mergable will be skipped.
Override and Update | This action is enabled on files with conflicting changes. Running this action will discard any local changes you have and replace the file with the remote contents.
Mark as Merged | This action will remove the selected changes from the view. The changes will only reappear if the remote state of the resource changes and the CVS Merge Synchronization is refreshed.

Tip: You can perform ongoing merges by pinning a CVS Merge Synchronization in the Synchronize view. This will allow you to keep your workspace up-to-date with the changes released to a different branch.

Team programming with CVS
Branches
Synchronizing with a CVS repository

Branching
Synchronizing with the repository
Updating
Committing

CVS
Merge wizard
CVS Merge Synchronization