Synchronizing with the repository
Working with shared resources requires tracking their state in context of the repository
content. This could be done by creating a synchronization that populates the Synchronize
view and benefiting following advantages:
- The local modification state of the resources being synchronized is kept
up-to-date. This means that, if you modify a file locally that is within the
scope of a synchronization that appears in the Synchronize view, the resource
will appear automatically in the view, if it is not already there.
- The remote state of all of the resources being synchronized can be refreshed
using the Synchronize
button in the toolbar of the Synchronize view.
- The remote state of a selection of resources can be refreshed using the
Synchronize command from the context menu in the Synchronize view.
Following methods can be used to create a synchronization.
Method 1: Using the context menu
To synchronize resources in the Workbench with those in the repository:
- In one of the navigation views, select the resources that you want to synchronize.
- Right click and select Team > Synchronize with Repository. The
Synchronize view opens.
Method 2: Using the synchronize action
- From the Team Synchronizing perspective select the Synchronize...
action from the Synchronize
button drop down.
- Select CVS from the list of possible synchronization types
and click Next.
Note: If there are no other repository providers registered with the
Workbench, then you will bypass this screen altogether.
- Select the resource scope for the synchronize by either selecting Workspace,
Selected Resources or Working Set. Then select Finish.
- The Synchronize view will open.
Note: The synchronize action is not enabled by default in
other perspectives. You can enable the action to appear in your current perspective
Window > Customize Perspective
. Then click
on the Commands tab and check off Team.
Tip: You can use method 3 below to avoid loosing the created synchronization.
Method 3: Using a pinned CVS Workspace Synchronization in the Synchronize
Once you have a CVS workspace synchronization in the Synchronize view, you
can pin it. This will prevent it from being replaced by the next CVS workspace
synchronization that is launched using one of the previous 2 methods. Here are
some of the advantages of using a pinned synchronization.
- You can remove any not pinned synchronization to make the pinned one visible.
To do it select Remove Current Synchronization from the Synchronize
view toolbar's menu.
- You can schedule the refreshing of the remote state to happen at particular
intervals (each hour, for example)
The implications of this is that you can see you outgoing resources without
re-fetching the remote state from the server (a potentially long running operation).
Also, the fetching of the remote state is run in the background so you can do
other things (e.g. inspect changes) while the remote state is fetched.
From within the synchronize view
Use the toolbar buttons to switch modes for this view. There are four modes:
- Incoming mode - shows incoming changes only (resources in the repository
that differ from what is in the Workbench).
- Outgoing mode - shows outgoing changes only (resources modified in the
- Incoming/Outgoing mode - shows both incoming and outgoing changes.
- Conflicts mode - shows only conflicting resources.
Note: It is possible that someone has committed a new revision of your
file since you started working on it. This will result in a conflict, and care
must be taken to resolve this. For this reason, conflicts are shown in all modes of the
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.
Team programming with CVS
Synchronizing with a CVS repository
Three way comparisons
Merging changes in the Compare editor
Merging from a branch
Version control life cycle: adding and ignoring resources
Replacing resources in the Workbench