Synchronize view

This view allows you to update resources in the Workbench and commit resources from the Workbench to a repository.  

Here is what the Synchronize view looks like:

Synchronization View

Modes

There are three different viewing modes (filters) that you can use in this view to make the synchronization process easier:

Incoming
In this mode, only resources which have been changed in the repository since they were last loaded or synchronized with those in the Workbench (incoming changes) are visible. If you have incoming changes when you synchronize, you will start off in this mode.
Outgoing
In this mode, only resources which have been modified in the Workbench (outgoing changes) are visible. If you do not have incoming changes when you synchronize, you will start in this mode.
Incoming/Outgoing
In this mode both incoming and outgoing changes are shown, and you can both update and commit. You will remain in this mode with future synchronizations until you close the view.  The advantage to using this dual mode is you can do either task as you choose. The disadvantage is that performing a simultaneous bi-directional merge is often complicated. In addition, you risk accidentally committing a conflict when you meant to update to it. You can choose to always use Incoming/Outgoing mode on the Workbench preferences page (Window> Preferences > Team).

Modes not only filter the set of visible changes but also restrict the set of operations available. You can switch modes using the toolbar of the Synchronization view.

The advantages to modes are:

Regardless of the mode that you select, you will always see any conflicts that exist. You can filter out other outgoing and incoming changes by clicking the Show Only Conflicts button.  You can also choose to Compare File Contents (and show only those resources whose contents differ), Ignore Whitespace differences or Refresh From Repository from the drop-down menu of this view.

Important: It is preferable to update resources in the Workbench first, resolve any conflicts that exist by merging, then commit Workbench resources to the repository.

Synchronization state

The top left pane in the synchronize view shows the synchronization state of resources in your workspace compared to those in the repository. This state is shown by using icons and can also be configured to show the state as text appended to the resource name. A description of the icons is shown in the table below:

Incoming addition icon An incoming addition means that a resource has been added to the repository. Updating will transfer the resource to your workspace.
Incoming change icon An incoming change means that the file has changed in the repository. Updating will transfer the new file revision to your workspace.
Incoming deletion icon An incoming deletion means that a resource was deleted from the server. Updating will delete your local resource.
Outgoing addition icon An outgoing addition means that the file was added to your workspace and is not yet in the repository. Adding then Committing will transfer the new file to the repository.
Outgoing change icon An outgoing change means that the file was change locally. Committing the file will transfer the changes to the repository and create a new revision of the file.
Outgoing deletion icon An outgoing deletion is a resource that has been deleted locally. Committing these resources will cause the remote resource to be deleted. Note: in CVS directories are never really deleted from the repository. Instead, files are deleted and empty directories are pruned from your workspace.
Conflicting addition icon A conflicting additions means that the resource has been added locally and remotely.
Conflicting change icon A conflicting change means that the file has been changed locally and remotely. A manual or automatic merge will be required by the user.
Conflicting deletion icon A conflicting deletion means that the resource was deleted locally and remotely.
Auto-mergeable conflict icon An auto-mergeable conflict is a conflict that can be automatically merged by CVS. This is because the file was changed locally and remotely but in different locations in the file. This indicator is important because it can allow you to review the changes from within the synchronization view and then perform a Override and Update that will perform the merge automatically for you.
Icon for resources not yet added to version control A non-added resource that has never been committed to the repository.

Structure compare pane

This pane allows you to view a hierarchy tree of all the resource differences between the repository and the Workbench.

Text compare pane

This pane allows you to view the content differences of the resource selected in the structure compare pane. You can choose to ignore whitespace differences from the view's drop-down menu.

Related concepts
Team programming with CVS
Synchronizing with a CVS repository  

Related tasks
Synchronizing with the repository

Updating

Resolving conflicts

Merging from a branch

Committing

Comparing resources
Merging changes in the compare editor

Related reference
CVS
Compare editor


Copyright IBM Corporation and others 2000, 2003