<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.ord/TR/html4/loose.dtd">
<html>

<head>

<title>Source Control</title>

</head>
<body bgcolor="#ffffff" text="#000000">
<hr>


<h1><a name="id1">Source Control</a></h1>

<p> 
If you use CVS, you can check code in and out without leaving the IDE. </p>
<p>

Related information:</p>
<ul>
<li>the <cite>Source Control</cite> movie (recommended)
   </li>
<li>the following links in the Eclipse <cite>Workbench User Guide</cite>: <b>Tasks</b>--><b>Working in the team environment</b>--><b>Working with a CVS repository</b> (recommended)
   </li>
</ul>
<p>Suggested prior reading:</p>
<ul>
<li>the <a href="conc.html">IDE Concepts</a> chapter</li>
</ul>
<p></p>
In this chapter:
<ul>
<li><a href="#how">Introduction</a></li>
</ul>

<h1><a name="how">Introduction</a></h1>

<p>The <b>CVS Repository Exploring</b> perspective lets you bring code from CVS into your workspace. 
While you're working on your code, the IDE automatically keeps track of the changes you make; it lets you roll back to an earlier version of a file that you saved but didn't commit to CVS. If another developer changes the source in CVS while you're working on it, the IDE helps you synchronize with CVS and resolve any conflicts. Finally, the <b>CVS Repository Exploring</b> perspective lets you check the modified code back into CVS.</p>
<p></p>

<hr>
<table>
<tr><td valign="top"><img src="image-lib/pointing.gif" alt="Note:"></td>
<td>The IDE stores project information in <tt>.project</tt> and <tt>.cdtproject</tt> 
files; you must include them with your project when you commit it to CVS. Otherwise, 
you must manually set the nature of the project (e.g. <b>Standard C Project</b>). 
For more information about setting project natures, see the <a href="cwiz.html">Common 
Wizards</a> chapter.</td></tr>
</table>
<hr>


<p>Unlike many other components of the IDE, the <b>CVS Repository Exploring</b> perspective <em>doesn't</em> connect to a utility. Instead of connecting via the <tt>cvs</tt> utility, the IDE uses its own engine to connect directly to your CVS repository.

</p>
<p>Because the <b>CVS Repository Exploring</b> perspective is a core Eclipse feature, we've covered the perspective only lightly in this book. For more information, follow these links the Eclipse <cite>Workbench User Guide</cite>: <b>Tasks</b>--><b>Working in the team environment</b>.</p>
<p></p>

<p>This table may help you find information more easily:</p>
<table border=1 width="100%">

<tr>
<th>If you want to:
	</th>
<th>See:</th>
</tr>
<tr>
<td>Connect to a CVS repository
	</td>
<td><b>Tasks</b>--><b>Working in the team environment</b>--><b>Working with a CVS repository</b>--><b>Creating a CVS repository location</b></td>
</tr>
<tr>
<td>Check code out of a CVS repository
	</td>
<td><b>Tasks</b>--><b>Working in the team environment</b>--><b>Working with projects shared with CVS</b>--><b>Checking out a project from a CVS repository</b></td>
</tr>
<tr>
<td>Synchronize with a CVS repository
	</td>
<td><b>Tasks</b>--><b>Working in the team environment</b>--><b>Synchronizing with the repository</b>, especially the <b>Updating</b> section</td>
</tr>
<tr>
<td>Resolve CVS conflicts
	</td>
<td><b>Tasks</b>--><b>Working in the team environment</b>--><b>Synchronizing with the repository</b>--><b>Resolving conflicts</b>
	</td>
</tr>
<tr>
<td>Prevent certain files from being committed to CVS
	</td>
<td><b>Tasks</b>--><b>Working in the team environment</b>--><b>Synchronizing with the repository</b>--><b>Version control life cycle: adding and ignoring resources</b>

</td>
</tr>
<tr>
<td>Create and apply a patch
	</td>
<td><b>Tasks</b>--><b>Working in the team environment</b>--><b>Working with patches</b></td>
</tr>
<tr>
<td>Track code changes that haven't been committed to CVS
	</td>
<td><b>Tasks</b>--><b>Working with local history</b>, especially the <b>Comparing resources with the local history</b> section</td>
</tr>
<tr>
<td>View an online FAQ about the <b>CVS Repository Exploring</b> perspective
	</td>
<td><b>Reference</b>--><b>Team Support</b>--><b>CVS</b></td>
</tr>
</table>



</body>

</html>

<!--
/**********************************************************************
 * Copyright (c) 2002,2003 QNX Software Systems Ltd. and others.
 * All rights reserved.   This program and the accompanying materials
 * are made available under the terms of the Common Public License v0.5
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/cpl-v05.html
 * 
 * Contributors: 
 * QNX Software Systems - Initial API and implementation
***********************************************************************/
-->
