# 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

The Toolbar buttons are the exact same as in the CVS Workspace Synchronization, with the omission of an Outgoing mode and Both mode buttons.

## Context menu

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

### 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.

### Open in Compare Editor

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

### Synchronize

This command refreshed the remote state of the selected resources. In addition, this command will adjust the timestamps of outgoing changes whose contents already match the contents of the corresponding resource on the server so that the file is no longer an outgoing change. This is useful in situations where build tools regenerate files whose contents have not changed.

### 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.

### Expand All

This command expands all of the selected resource's children.

### Merge

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.

### Overwrite

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

### Mark as Merged

This command adjusts the CVS timestamps of conflicting changes so they become outgoing changes. This command should be performed after conflicts are merged manually using a compare editor.

### Show Annotation

Depending on your Annotation preferences, this command will either bring up turn on the Quick Diff annotate or open the Annotate view for the selected resource.

### Show in History

This command will show the history for the selected resource..

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