<html><head><title>Check Out Wizard</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>Checkout Wizard</h2>
<p>Since: <br>
Last Modified: $Date: 2004/06/01 15:23:56 $</p><body>

<p>The checkout wizard should be available from the following parts of the workbench: 
import, new project, empty workspace CVS synchronize action, toolbar in CVS perspective.
The checkout wiard is also available from the context menu of the repositories view
as the Checkout As menu item.</p>

<p>The following variants should be tested:
<ul>
<li>Create a new repository location and checkout a project entirely from the wizard.
<li>Check out a tag
<li>Check out a project that does not contain a .project file. This should result in
a second wizard that allows projct configuration (e.g. Java project).
</ul>

<h3>Repositories View Checkout Variants</h3>
These test require an existing repository which contains projects, at least one of which 
does not contain a .project file.
<ol>
  <li>Perform "Check Out" on a single project. Ensure that repeating results in overwrite prompt.</li>
  <li>Perform "Check Out" on multiple projects.</li>
  <li>Perform "Check Out As..." on a single project (that contains a .project file) and enter custom name and/or custom location.</li>
  <li>Perform "Check Out As..." on a single remote project that does not have a .project file and
  ensure that the user is prompted for the project type to create.</li>
  <li>Perform "Check Out As..." on multipe projects and enter a custom parent location.</li>
  <li>Perform "Check Out As..." and specify a tag.</li>
</ol>
</body></html>