# CVS Merge Synchronization

CVS Merge synchronizations launched using the Team > Merge menu command will appear in the Synchronize view. This view allows you to inspect the differences between the local Workbench resources and their remote counterparts that are being merged and allows you to update the local resources. Committing is not supported when merging.

Here is what the CVS Merge Synchronization in the Synchronize view looks like:

## Features

The features of the CVS Merge Synchronization are similar to those of the CVS Workspace Synchronization with the following differences.

- Modes: When merging, only incoming and conflicting changes are possible. As such, only the Incoming Mode and Conflicts mode are supported.
- Operations: Only updating is supported when merging.
- Ongoing merges: In order to compensate for the poor ongoing merge support of CVS, a CVS Merge Synchronization can be pinned and kept indefinitely. The timestamps of merged changes are recorded and, on refresh, only new changes since the last merge are shown in the view.

## Toolbar

### Synchronize

This command allows you to repeat the current synchronization which refetches the remote state of the resources. The drop down of the toolbar item allows you to select other existing synchronizations or create new ones using the Synchronize... menu command.

### Pin Current Synchronization

This command allows you to pin or unpin the current synchronization. Pinned synchronizations will not be replaced by the next synchronization of the same type while unpinned synchronizations will be replaced. This allows you to keep a synchronization around for easy access. Such a synchronization will automatically update when changes to Workbench resources take place and can be configured to perform scheduled refreshes in order to keep up-to-date with the remote state of the resources. This is especially handy for ongoing merges from a more stable branch (e.g. HEAD) into a development branch.

### Go to Next Difference

This command will go to the next difference displayed by the view. All the differences within a single file will be visited before opening the next file in the view.

### Go to Previous Difference

This command will go to the previous difference displayed by the view. All the differences within a single file will be visited before opening the previous file in the view.

### Collapse All

Collapse all the expanded entries in the view.

### Incoming Mode

In this mode, all resources which have been changed in the branch being merged are visible.

### Conflicts Mode

In this mode only conflicts (resources modified both in the Workbench and in the branch being merged) are shown.

### Update All Incoming Changes

This command updates all the incoming changes visible in the view. The command will also update conflicts that are auto-mergeable but will skip files whose contents contain conflicts.

### Drop Down Menu

The drop down menu allows you to remove the current or all synchronizations, change the mode or layout, configure the current synchronization to perform scheduled refreshes as well as set other view preferences.

## Context menu

From the context menu of the Synchronize view you can perform a number of interesting operations.

### Open in Compare Editor

This command open the selected change in a Compare editor which allows you to inspect the changes within the file.

### Open

This command open the local resource for the selected change in the default Workbench editor for the file type.

### Open With

This command allows you to open the local resource for the selected change in the a Workbench editor.

### Synchronize

This command refreshed the remote state of the selected resources.

### Remove From View

This command removes the selected resources from the view. The resources will only reappear if the state of the removed resources changes or the Workbench is restarted.

### Update

This command updates the selected resources. Conflicts can be included in an update but only auto-mergeable conflicts will be updated. Non-mergeable conflicts will be skipped and should be merged manually using a compare editor.

### Override and Update

This command operates on conflicts and outgoing changes and replaces the local contents of those resources with the contents from the server.

### Mark as Merged

This command removes the change from the view. This command should be performed after conflicts are merged manually using a compare editor. The change will only reappear if the view is refreshed and new changes are found in the branch being merged.

Team programming with CVS

Resolving conflicts
Merging from a branch
Comparing resources
Merging changes in the compare editor

CVS
Merge wizard
CVS Workspace Synchronization
Compare editor