<html>
<head>
<title>Performing a Synchronize</title>
<LINK REL=STYLESHEET HREF=../book.css CHARSET=ISO-8859-1 TYPE=text/css>
<meta NAME="keywords" content="">
<meta NAME="since" content="">
</head>
<body>
<h2>Performing a Synchronize</h2>
<p>Since: 3.0<br>
Last Modified: $Date: 2007/05/18 13:54:37 $</p>

<p>Synchronizing means to compare your local workspace contents with
the contents in another location with the goal that the two locations
should contain the same contents at some point.</p>

<h3>Performing a Synchronize operation</h3>

<p>There are a few ways of launching a synchronize operation. They
all open the same dialog but the initial selection is affected by where
the operation is launched. Here is the list of ways to start a
synchronize along with the expected initial selection.</p>

<ul>
	<li><b>Using the global synchronize action (via toolbar or
	keybinding)</b>: The selection should be obtained from the active view. If
	no view is active, all projects should be selected.</li>
	<li><b>Using the Synchronize button in toolbar of the
	Synchronize view</b>: All projects should be selected.</li>
	<li><b>Selecting Synchronize from the context menu of
	resources in the synchronize view</b>: The selection should match what was
	selected when the menu was selected.</li>
	<li><b>Selecting Team > Synchronize with Repository from the
	context menu of any resource based view</b>: The selection should match
	what was selected when the menu was selected.</li>
</ul>

<p>Once launched, a synchronize will run in the background.
Currently, the user is prompted to switch perspectives when the
synchronize is launched. When a synchronize completes, the user is
prompted either with a dialog stating there is no changes or one that
contains a details area that shows the incoming changes. The user is
given the option to suppress the post-synchronize dialog.</p>

<h3>Notice a file is out-of-sync in another view (e.g. packages
explorer, types) and want to see the changes</h3>

<p>In case you can select a file, it will be refreshed with the
server, and if changes are found the compare editor is opened that will
allow browsing the changes. If no changes are found, you will be
prompted.</p>

<h3>From another view would like to browse the outgoing/incoming
changes for several resources</h3>

<p>Select a folder or group of files and Team > Synchronize will
open the sync view and automatically refresh with the remote repository.</p>

<h3>In the sync view and would like to refresh to see if there are
new changes from the server</h3>

<p>Assumption, the sync view may or may not be open when the
synchronize is performed. Maybe we need a different prompt each case.
One for Team > Sync and another for refresh from the sync view.</p>

</body>
</html>