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 Merge editor will open, 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 and then choosing Save from the text editor's context menu, or by choosing Update from Repository, Override and Update, or Merge Changes Into Local Copy 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 from Repository This action is enabled on files that contain incoming changes. Running this action will bring the changes into the file in the workspace.
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.
Merge changes Into Local Copy This action is enabled on files with conflicting changes. Running this action will perform the equivalent of the "cvs update" command. This will merge the local contents with the remote contents using the base as the ancestor. Changes are merged regardless of the conflicting state of the files and can result in conflict markers (e.g. lines that can't be automatically merged) in the local file.

 

Related concepts
Team programming with CVS
Branches
Synchronizing with a CVS repository

Related tasks
Branching
Synchronizing with the repository
Updating
Committing

Related reference
CVS
Merge wizard

 
Copyright IBM Corporation and others 2000, 2003