| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> |
| <html lang="en"> |
| <HEAD> |
| |
| <meta name="copyright" content="Copyright (c) IBM Corporation and others 2000, 2011. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." > |
| |
| <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1"> |
| <META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css"> |
| <LINK REL="STYLESHEET" HREF="../book.css" CHARSET="ISO-8859-1" TYPE="text/css"> |
| <title>Running the CVS command-line client outside of Eclipse</title> |
| <meta name="keyword" content="team"> |
| <script language="JavaScript" src="PLUGINS_ROOT/org.eclipse.help/livehelp.js" type="text/javascript"> </script> |
| </HEAD> |
| |
| <BODY BGCOLOR="#ffffff"> |
| <H1 CLASS="Head">Running the CVS command-line client outside of Eclipse</H1> |
| <h2>Compatibility</h2> |
| <p>Because the Eclipse CVS plug-in stores its meta information in a format that |
| is compatible with the command-line CVS client you should be able to use a CVS |
| command line client against Eclipse workspace files on disk. The metadata is |
| stored in CVS/ sub-directories but you rarely see them within Eclipse. They are |
| marked as private which causes them to be hidden from view. If you open a (non-Eclipse) |
| file explorer you will see that these directories and their contents appear |
| on the file system.</p> |
| <h2> Don't forget to refresh!</h2> |
| |
| |
| <p>Whenever you use external tools to modify workspace files, you must perform |
| a <strong>Refresh</strong> from within Eclipse to make the workspace aware of |
| the changes. If you get a <em>resource out of sync</em> error in Eclipse it |
| is a sign that there are resources in Eclipse that have been modified outside |
| of Eclipse. One solution is to perform a refresh (available from a resource's |
| popup menu) on any resources or projects that where modified outside of Eclipse. |
| There is also a preference to refresh automatically.</p> |
| <h3>Caveats</h3> |
| <p><strong>1. Deleted folders</strong></p> |
| <p>You may encounter unexpected behavior when using the command-line CVS client |
| in conjunction with deleted folders. Eclipse's CVS support keeps track of deleted |
| folders and their contents so that, on the next synchronization, the Synchronize |
| view can properly report on the changes. This information is kept outside of |
| the CVS meta folder structure. This is because in CVS you normally inform the |
| repository of deletions prior to deleting them locally, which is a different |
| workflow than we like to support in the Synchronization view. Thus it is recommended |
| that you do not use the command-line CVS client while you have pending deletions |
| to commit. In some circumstances it could cause the Synchronize view to display |
| incorrect contents, although it will not cause any lost work. </p> |
| <p><strong>2. CVS directories appear in the workbench</strong></p> |
| <p>When you use the command-line CVS the CVS folders can sometimes appear |
| in one of the navigation views. There are some cases where CVS folders are not hidden from the |
| UI as you would expect. For instance, CVS folders will appear if a user |
| imports a CVS project into Eclipse before the CVS plug-in is loaded. To avoid |
| this, open the CVS Repositories view (thus loading the CVS plug-in) before importing |
| CVS projects into Eclipse. </p> |
| <p><strong>3. The 'extssh' connection method</strong></p> |
| <p>The <em>extssh</em> connection method is unique to Eclipse CVS and doesn't |
| exist in the command-line CVS client. If you are using <em>extssh</em> to connect |
| to a SSH2 repository and would like to use the command line client for some |
| CVS operations you can configure the <em>ext</em> connection method to use <em>extssh</em> |
| when inside Eclipse.</p> |
| <ol> |
| <li>Create a new repository location that uses the <em>ext</em> connection method. |
| The repository path, host, and user should be identical to those in the <em>extssh</em> |
| location.</li> |
| <li>Open the |
| <a class="command-link" href='javascript:executeCommand("org.eclipse.ui.window.preferences(preferencePageId=org.eclipse.team.cvs.ui.ExtMethodPreferencePage)")'> |
| <img src="PLUGINS_ROOT/org.eclipse.help/command_link.svg" alt="command link"> |
| <strong>Team > CVS > Ext Connection Method</strong></a> preference page.</li> |
| <li>Enable<strong> Use another connection method type to connect</strong> and |
| choose <em>extssh</em>.</li> |
| <li>Now when you use the <em>ext</em> connection method inside Eclipse, <em>extssh</em> |
| will be used instead of an external client.</li> |
| </ol> |
| <p><img border="0" src="../images/ngrelt.png" alt="Related tasks" ><br> |
| <a href="tasks-95.htm">Changing the properties of a CVS repository location</a><br> |
| <a href="tasks-92.htm">Creating a CVS repository location</a><br> |
| <a href="tasks-117a.htm">Using projects checked out with another CVS tool</a> |
| </p> |
| |
| |
| </BODY> |
| </HTML> |