| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> |
| <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> |
| <head> |
| <meta content="application/xhtml+xml; charset=utf-8" |
| http-equiv="content-type" /> |
| <meta content="haran" name="author" /> |
| <meta content="Windows Notepad" name="generator" /> |
| <link type="text/css" href="http://dev.eclipse.org/default_style.css" |
| rel="stylesheet" /> |
| <link title="Grey boxes stylesheet" |
| href="http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/platform-vcm-home/layout.css" |
| type="text/css" rel="stylesheet" /> |
| <link |
| href="http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/platform-vcm-home/colors.css" |
| type="text/css" rel="stylesheet" /> |
| <title>Eclipse Platform - CVS FAQ</title> |
| </head> |
| <body> |
| <p>Back to <a href="../archivedReleases.php">Archived Releases</a></p> |
| <table width="100%" cellpadding="2" cellspacing="5" border="0"> |
| <tbody> |
| <tr> |
| <td width="72%" align="left"> <font class="indextop"> CVS</font><br /> |
| <font class="indexsub">platform cvs support</font></td> |
| <td width="28%"><img width="120" height="86" |
| src="http://dev.eclipse.org/images/Idea.jpg" /></td> |
| </tr> |
| </tbody> |
| </table> |
| <h1>CVS Eclipse Plug-in FAQ</h1> |
| <p>Last Modified: $Date: 2006/06/09 18:53:05 $</p> |
| <ul> |
| <li><b><a href="#gettingStarted">Getting started</a></b> |
| <ol> |
| <li><a href="#gettingStarted_1">How do I get a project into my |
| workspace from CVS?</a></li> |
| <li><a href="#gettingStarted_2">How do I put a project into CVS |
| from my workspace?</a></li> |
| <li><a href="#gettingStarted_3">I already have a project checked |
| out from CVS with the command-line tool. How do I use it in Eclipse |
| without having to check out the whole project again?</a></li> |
| </ol> |
| </li> |
| <li><b><a href="#browsing">Browsing the Repository</a></b> |
| <ol> |
| <li><a href="#browsing_1">Why don't my branches and versions show |
| up when I am browsing?</a></li> |
| <li><a href="#browsing_2">Why do some modules defined in |
| CVSROOT/modules appear empty in the CVS Repositories view?</a></li> |
| <li><a href="#browsing_3">When I expand HEAD in the CVS |
| Repositories View, it is always empty even though I know the repository |
| has contents. Whats wrong?</a></li> |
| </ol> |
| </li> |
| <li><b><a href="#server">Server Issues</a></b> |
| <ol> |
| <li><a href="#server_1">What server versions of CVS are supported |
| by Eclipse?</a></li> |
| <li><a href="#server_1a">Why doesn't Eclipse 2.1.x work with CVS |
| server versions 1.11.7 and beyond?</a></li> |
| <li><a href="#server_cvsnt">Why aren't older (pre 2.0.58d) CVSNT versions supported?</a></li> |
| <li><a href="#server_2">Where can I get CVS for UNIX or Windows?</a></li> |
| <li><a href="#server_3">Where can I find documentation on CVS?</a></li> |
| <li><a href="#server_6">When I perform a Replace With or Update |
| operation, Eclipse tells me that option -C is not supported. What's |
| wrong?</a></li> |
| <li><a href="#server_7">I performed a Replace With or Override |
| and Update and one of the files involved ended up with strange |
| characters in it. Why?</a></li> |
| <li><a href="#server_8">I got a "received broken pipe signal" |
| error. What does it mean?</a></li> |
| <li><a href="#server_9">How do I use a local connection with |
| Eclipse?</a></li> |
| <li><a href="#server_10">With CVSNT, why do I get the error: "Error |
| fetching file revisions"?</a></li> |
| <li><a href="#server_11">Why can't I get Eclipse to work with |
| CVSNT and mapped network drives?</a></li> |
| <li><a href="#server_12">Using CVSNT, Why do I get the error "cvs |
| [server aborted]: cannot find .: No such file or directory"?</a></li> |
| <li><a href="#server_13">Why do I get the error "Resource <name> |
| is not a child of folder <folder>"?</a></li> |
| <li><a href="#server_14">Why can't I set the keyword substitution mode for CVSNT using Eclipse?</a></li> |
| </ol> |
| </li> |
| <li><b><a href="#ssh">Using SSH with CVS</a></b> |
| <ol> |
| <li><a href="#ssh_1">How do I use SSH to communicate with the |
| server?</a></li> |
| <li><a href="#ssh_2">What is the difference between ext and |
| extssh?</a></li> |
| <li><a href="#ssh_jcraft">My SSH server only support SSH2 protocol and |
| I'm using Eclipse 2.1.x</a></li> |
| <li><a href="#ssh_3">How do I set up public-key authentication for use with |
| an external SSH client?</a></li> |
| <li><a href="#ssh_4">When I try to connect using SSH, it tells me |
| "Could not chdir to home directory /home/user/myname". What did I do |
| wrong?</a></li> |
| <li><a href="#ssh_5">I got an 'Unknown response' while trying to |
| perform CVS browsing. What went wrong?</a></li> |
| <li><a href="#ssh_6">I can't get keys generated using Putty to work with Eclipse</a></li> |
| <li><a href="#ssh_7">Why do CVS extssh connections fail on Fedora Core 4</a></li> |
| <li><a href="#ssh_8">Why does CVS extssh prompt for my password even when it is saved?</a></li> |
| </ol> |
| </li> |
| <li><b><a href="#10">Upgrading from Eclipse 1.0</a></b> |
| <ol> |
| <li><a href="#10_1">Is there anything I should do before |
| upgrading from Eclipse 1.0 to 2.0?</a></li> |
| <li><a href="#10_2">I'm using a workspace from 1.0. Why does the |
| Team menu only contain "Share Project"?</a></li> |
| <li><a href="#10_3">Eclipse 1.0 created all my files as binary in |
| the repository. How do I fix this?</a></li> |
| <li><a href="#10_4">Is a Branch the same as a Stream? What about |
| other 1.0 terminology?</a></li> |
| <li><a href="#10_5">I get a message saying the .vcm_meta file is |
| obsolete and should be deleted. Should I really delete it?</a></li> |
| </ol> |
| </li> |
| <li><b><a href="#java">Using Eclipse and CVS for Java development</a></b> |
| <ol> |
| <li><a href="#java_1">When I check out a Java project from the |
| repository, how do I make Eclipse aware it is a Java project?</a></li> |
| <li><a href="#java_2">What is the .classpath file? Should I |
| release it to the repository?</a></li> |
| <li><a href="#java_3">In my CVS repository, there is a source |
| directory in the repository root. How can I use this with Eclipse?</a></li> |
| <li><a href="#java_4">How do I check out a module definition as a |
| Java project</a></li> |
| <li><a href="#java_5">Why does the bin directory keep appearing |
| in the Synchronize view?</a></li> |
| <li><a href="#java_5a">I ignored the bin directory but it appears |
| to be shared anyway. Why?</a></li> |
| <li><a href="#java_6">How do I use CVS keywords in Java templates?</a></li> |
| <li><a href="#java_7">I'm working with a virtual module defined |
| in the CVSROOT/modules file. How do I commit the .project and/or |
| .classpath file?</a></li> |
| </ol> |
| </li> |
| <li><b><a href="#commandLine">Compatibility Between CVS command-line |
| client and Eclipse</a></b> |
| <ol> |
| <li><a href="#commandLine_1">Does Eclipse use [WinCVS|CVS |
| command-line client] to talk to the server?</a></li> |
| <li><a href="#commandLine_2">The command-line CVS client stores |
| information in CVS folders. Does Eclipse do the same thing? If so, |
| where are the folders?</a></li> |
| <li><a href="#commandLine_3">Is Eclipse compatible with the |
| command-line CVS client?</a></li> |
| <li><a href="#commandLine_4">Can I import a project into Eclipse |
| that was checked out using the command line?</a></li> |
| <li><a href="#commandLine_5">Why does Eclipse corrupt my *.jar, |
| *.zip, etc. files?</a></li> |
| <li><a href="#commandLine_6">When I use the command-line CVS on |
| my project, why do the CVS folders sometimes appear in the Navigator |
| View?</a></li> |
| <li><a href="#commandLine_7">When I use the command-line CVS on |
| my project, why go I get "resource out of sync" errors?</a></li> |
| </ol> |
| </li> |
| <li><b><a href="#patches">Working with Patches</a></b> |
| <ol> |
| <li><a href="#patches_1">How do I send someone a patch?</a></li> |
| <li><a href="#patches_2">How do I apply a patch that someone sent |
| me?</a></li> |
| </ol> |
| </li> |
| <li><b><a href="#linux">Linux Issues</a></b> |
| <ol> |
| <li><a href="#linux_0">On linux, using IBM JRE 1.3.0, I get a |
| timeout when connecting to a repository. What's wrong?</a></li> |
| <li><a href="#linux_1">On Red Hat 8, Eclipse fails to make a |
| checkout but it works with other clients. Why?</a></li> |
| </ol> |
| </li> |
| <li><b><a href="#windows">Windows Issues</a></b> |
| <ol> |
| <li><a href="#windows_0">Eclipse crashed Windows 2000 (blue |
| screen) when performing a CVS operation. What happened?</a></li> |
| <li><a href="#windows_2">Eclipse always times out when performing |
| a Synchronize on one or two particular machines?</a></li> |
| <li><a href="#windows_3">Why do CVS operations slow down when I |
| am connected to my network/dial-up?</a></li> |
| <li><a href="#windows_4">Why do all my files show as outgoing |
| changes?</a></li> |
| </ol> |
| </li> |
| <li><b><a href="#misc">Miscellaneous</a></b> |
| <ol> |
| <li><a href="#misc_0">Is there any equivalent to CVS_CLIENT_LOG |
| is Eclipse?</a></li> |
| <li><a href="#misc_1">What is the .project file, and should I |
| release it to CVS?</a></li> |
| <li><a href="#misc_2">I don't have update access to the CVS |
| repository. Can I still check out a project with Eclipse?</a></li> |
| <li><a href="#misc_3">What does "Terminated with fatal signal 10" |
| mean?</a></li> |
| <li><a href="#misc_4">I copied some folders from one CVS project |
| to another and the old CVS information remained. What happened?</a></li> |
| <li><a href="#misc_8">I used Team > Share Project to connect a |
| local project to an existing project and it takes forwever. Why?</a></li> |
| <li><a href="#misc_9">Does Eclipse support Watch/Edit?</a></li> |
| <li><a href="#misc_12">Why do I get a "Pre-commit failed" error |
| with no detailed error message?</a></li> |
| <li><a href="#misc_13">Why can"t I get my pserver CVS proxy to work?</a></li> |
| </ol> |
| </li> |
| </ul> |
| <!-- End of table of contents --> |
| <!-- Getting Started --> |
| <h1>Getting Started</h1> |
| <ol> |
| <li><b><a name="gettingStarted_1">How do I get a project into my |
| workspace from CVS?</a></b> |
| <p> </p> |
| <ol> |
| <li>Window->Show View->Other. Select CVS->CVS |
| Repositories.</li> |
| <li>Context Menu->New->Repository Location...</li> |
| <li>Fill in the location information identifying your repository |
| and click Finish.</li> |
| <li>Expand the newly-created repository location.</li> |
| <li>Expand HEAD.</li> |
| <li>Find the module you are interested in.</li> |
| <li>Context Menu->Check Out As Project.</li> |
| </ol> |
| <br /> |
| The project now exists in your workspace. </li> |
| <p> <br /> |
| </p> |
| <li><b><a name="gettingStarted_2">How do I put a project into CVS |
| from my workspace?</a></b> |
| <p> </p> |
| <ol> |
| <li>Select the project in the Navigator or other view.</li> |
| <li>Context Menu->Team->Share Project...</li> |
| <li>Fill in the location information identifying your repository |
| and click Finish.</li> |
| <li>The Synchronize view opens, showing all your outgoing changes.</li> |
| <li>Select the project in the Synchronize view.</li> |
| <li>Context Menu->Commit.</li> |
| <li>Answer yes when prompted to add new files to version control.</li> |
| <li>Supply a release comment if you like.</li> |
| </ol> |
| <br /> |
| The project now exists in the repository. </li> |
| <p> <br /> |
| </p> |
| <li><b><a name="gettingStarted_3">I already have a project checked |
| out from CVS with the command-line tool. How do I use it in Eclipse |
| without having to check out the whole project again?</a></b> |
| <p> </p> |
| <ol> |
| <li>Create a project in the workspace.</li> |
| <li>File->Import, select File System, locate your files, click |
| Finish.</li> |
| <li>Select the project in the Navigator or other view.</li> |
| <li>Context Menu->Team->Share Project...</li> |
| <li>The wizard should tell you that it found all the necessary |
| information. Click Finish.</li> |
| </ol> |
| <br /> |
| Eclipse has now shared the project with the CVS repository. </li> |
| <p> </p> |
| </ol> |
| <br /> |
| <!-- Browsing the Repository --> |
| <h1>Browsing the Repository</h1> |
| <ol> |
| <li><b><a name="browsing_1">Why don't my branches and versions show |
| up when I am browsing?</a></b> |
| <p> </p> |
| <p>When you are browsing in the CVS Repositories view, you may |
| expect to see branch and version tags which you have previously |
| created. In CVS, such tags are stored on individual files rather than |
| on projects or folders. Rather than scan every file in the repository, |
| Eclipse only scans one well-known file, .project, which should exist in |
| every Eclipse project. It is possible that you have other interesting |
| tags that do not appear on .project but which you would like to show up |
| in the CVS Repositories view.</p> |
| <p> </p> |
| <p>To make these tags appear, do the following:</p> |
| <ol> |
| <li>Open the CVS Repositories view.</li> |
| <li>Expand HEAD and select the project for which you want to |
| configure tags.</li> |
| <li>Context Menu->Configure Branches and Versions...</li> |
| <li>In the "Browse files for tags" table, select one or more |
| files that contain tags you would like to see.</li> |
| <li>Click "Add Selected Tags".</li> |
| <li>Click "OK".</li> |
| </ol> |
| <br /> |
| The CVS Repositories view will now display the chosen tags under the |
| Branches and Versions categories. In addition, these tags will show up |
| in other tag-related operations, such as "Replace With->Branch or |
| Version...". </li> |
| <p> </p> |
| <li><b><a name="browsing_2">Why do some modules defined in |
| CVSROOT/modules appear empty in the CVS Repositories view?</a></b> |
| <p> </p> |
| <p>Some modules are not expandable because their definition is |
| complex and difficult to parse on the client. These modules can still |
| be checked out properly using the "Check Out Module" menu command from |
| the module's context menu. </p> |
| </li> |
| <p> </p> |
| <li><b><a name="browsing_3">When I expand HEAD in the CVS |
| Repositories View, it is always empty even though I know the repository |
| has contents. Whats wrong?</a></b> |
| <p> </p> |
| <p>If you also see messages from the server like "-f server: ...", |
| this indicates that your CVS server has not been configured properly. |
| Here is the line as it should appear in the "/etc/inetd.conf" file |
| (example from AIX but the problem has also been seen on Solaris):</p> |
| <ul> |
| <li>cvspserver stream tcp nowait root /usr/bin/cvs cvs -f |
| --allow-root=/usr/cvsroot pserver</li> |
| </ul> |
| <p>The key is the 2nd copy of "cvs". The online cvs book at <a |
| href="http://cvsbook.red-bean.com/cvsbook.html#The_pserver_access_method_is_not_working"> |
| http://cvsbook.red-bean.com/cvsbook.html</a> |
| has it right (although I thought it was a typo so never tried it). Look |
| for "The pserver access method is not working" section. Part of the |
| reason I got this wrong is that the linux xinetd configuration |
| does not duplicate the name of the program. At one point I |
| just copied the fields from the linux config into the fields in the AIX |
| inetd.conf file. Now that I know what to look for, the other entries in |
| the inetd.conf file |
| have the program name duplicated.</p> |
| </li> |
| <p> </p> |
| </ol> |
| <br /> |
| <!-- Server Issues --> |
| <h1>Server Issues</h1> |
| <ol> |
| |
| <li><b><a name="server_1">What server versions of CVS are supported by Eclipse?</a></b> |
| |
| <p>In 3.0, Eclipse supports CVS version 1.11.1p1 or higher, running |
| on a Linux or UNIX server and CVSNT 2.0.58d or later, when properly |
| <a href="../html-cvs/cvs-compatibility.html">configured</a>. Eclipse 2.1.2 and before does not work with |
| CVS versions greater than 1.11.6 (see <a href="#server_1a">next point</a>). |
| CVSNT versions prior to 2.0.58d are not supported but some versions have been reported to |
| work with few problems. There have also been some problems reported with HPUX and Solaris version |
| (see <a href="#browsing_3">above</a>).</p> |
| <p>There are also cases where newer server versions are required for some |
| functionality. For instance, incoming change sets in the synchronize view |
| require CVS version 1.11.5 or beyond to work properly |
| (see bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=81960">81960</a>)</p> |
| </li> |
| |
| <li><b><a name="server_1a">Why doesn't Eclipse 2.1.x work with CVS server versions 1.11.7 and beyond?</a></b> |
| <p>Most of the interesting Eclipse CVS functionality relies on the |
| format of the messages and the change in format made in 1.11.7 breaks |
| the parsing in Eclipse versions prior to 2.1.3. Most of the |
| incompatibilities for 1.11.x were addressed in 2.1.3. See bugs |
| <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=46655">46655</a> |
| and <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=49056">49056</a> |
| for patches and workarounds for previous versions of Eclipse or |
| remaining incompatibilities. As for 1.12.x releases of CVS, Eclipse |
| 2.1.x is not compatible with this server version. Eclipse 3.0 is |
| compatible with 1.12.7 but future releases of CVS may cause similar |
| breakages. In such cases, Team>Update and Team>Commit should |
| still work but the more advanced work flows (e.g. synchronizing) may not |
| be reliable.</p> |
| </li> |
| |
| <li><b><a name="server_cvsnt">Why aren't older (pre 2.0.58d) CVSNT versions supported?</a></b> |
| <p>The reason older CVSNT versions aren't supported is because traditionally its |
| development effort had been smaller and has lagged behind that of CVS |
| Linux, thus its quality tends to be of issue. That has changed as of version 2.0.58d |
| which is now supported (when properly |
| <a href="../html-cvs/cvs-compatibility.html">configured</a>) on Eclipse 3.0 and beyond.</p> |
| </li> |
| |
| <li><b><a name="server_2">Where can I get CVS for UNIX or Windows?</a></b> |
| <p>CVS for UNIX can be downloaded by going to |
| <a href="http://www.cvshome.org">http://www.cvshome.org</a>. CVSNT can be |
| downloaded by going to <a href="http://www.cvsnt.org">http://www.cvsnt.org</a>.</p> |
| </li> |
| |
| <li><b><a name="server_3">Where can I find documentation on CVS?</a></b> |
| <p>The CVS manual can be found by going to <a href="http://www.cvshome.org">http://www.cvshome.org</a>.</p> |
| </li> |
| |
| <li><b><a name="server_6">When I perform a Replace With or Update |
| operation, Eclipse tells me that option -C is not supported. What's |
| wrong?</a></b> |
| <p>This error indicates that your server version is CVS 1.10 or |
| before. The -C option was introduced in version 1.11. See <a |
| href="#server_1">above</a> for supported CVS versions.</p> |
| </li> |
| |
| <li><b><a name="server_7">I performed a Replace With or Override and |
| Update and one of the files involved ended up with strange characters |
| in it. Why?</a></b> |
| <p>This error indicates that your server version is CVS 1.11 which |
| has a bug when replacing a locally dirty file. See <a href="#server_1">above</a> |
| for supported CVS versions.</p> |
| </li> |
| |
| <li><b><a name="server_8">I got a "received broken pipe signal" |
| error. What does it mean?</a></b> |
| <p>Eclipse sometime performs multiple commands within a single |
| connection to the server. This may cause problems with CVS server that |
| are running server scripts in reponse to certain commands.</p> |
| </li> |
| |
| <li><b><a name="server_9">How do I use a local connection with |
| Eclipse?</a></b> |
| <p>Eclipse does not support the use of the local connection method |
| as this requires a CVS client that also includes the CVS server code in |
| it. Command line cvs uses the same executable for the client and the |
| server whereas Eclipse is a client only. Since the repository is on the |
| same machine as the client, you should be able to use pserver.</p> |
| </li> |
| |
| <li><b><a name="server_10">With CVSNT, why do I get the error: "Error |
| fetching file revisions"?</a></b> |
| <p>This problem has several causes. One is the use of a backslash (\) in the |
| repository path instead of a slash (/). Another can be a mismatch in the |
| case of the letters in the repository path. See bug |
| <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=56635">56635</a> for more details.</p> |
| </li> |
| |
| <li><b><a name="server_11">Why can't I get Eclipse to work with CVSNT |
| and mapped network drives?</a></b> |
| <p>The problem is that CVSNT (as of 1.11.1.3) only supports using |
| the local connection method with network drives and Eclipse does not |
| support this connection method (see <a href="#server_9">above</a>). </p> |
| </li> |
| |
| <li><b><a name="server_12">Using CVSNT, Why do I get the error "cvs |
| [server aborted]: cannot find .: No such file or directory"?</a></b> |
| <p>I think the problem is that of user rights on the machine CVSNT |
| is running on. You might try one or more of the following options: </p> |
| <ul> |
| <li>create a group having full access rights to the CVSNT |
| repository directory structure plus the temp folder CVSNT is using. |
| This is easiest if you specify a separate CVSNT temp directory such as |
| "c:\cvstemp" using the Advanced tab in the<br /> |
| CVSNT control panel. (The default temporary directories in |
| "C:\WINNT\TEMP" and "C:\Documents and Settings" have access |
| restrictions under Win2000 and WinXP).</li> |
| <li>turn off impersonation in CVSNT</li> |
| <li>add all CVS users to PowerUsers on the machine CVSNT is |
| running on</li> |
| </ul> |
| <p> </p> |
| </li> |
| |
| <li><b><a name="server_13">Why do I get the error "Resource <name> is not a child of folder <folder>"?</a></b> |
| <p>CVSNT has a separate option called <em>Emulate "-n checkout" bug</em> that must be enabled for Eclipse |
| to work properly. This is because the "bug" in question is the behavior of a 1.11.x server which |
| Eclipse requires. |
| </p> |
| </li> |
| |
| <li><b><a name="server_14">Why can't I set the keyword substitution mode for CVSNT using Eclipse?</a></b> |
| <p>CVSNT has a non-standard way of dealing with keyword substitution so you will |
| need to use a CVSNT specific client to modify the keyword substitution mode. |
| </p> |
| </li> |
| |
| </ol> |
| <br /> |
| <!-- SSH --> |
| <h1>Using SSH with CVS</h1> |
| <ol> |
| <li><b><a name="ssh_1">How do I use SSH to communicate with the server?</a></b> |
| <p>The pserver protocol sends passwords over the network in plaintext. Many |
| people prefer to establish a secure connection using SSH. Eclipse supports |
| two methods of connecting to CVS repositories using SSH. </p> |
| <p>To use the Eclipse's built-in SSH support, simply specify "extssh" as the |
| connection method type when creating the repository connection.</p> |
| <p>To use SSH support from an external tool, you must: </p> |
| <ol> |
| <li>Specify "ext" as the connection method type when creating the repository |
| connection.</li> |
| <li>Window->Preferences->Team->CVS->Ext Connection Method. On |
| this page, specify the name and location of your external ssh client. |
| (For example, "<code>C:\plink.exe</code>" or "<code>/usr/local/bin/ssh</code>"). |
| Also specify the name and location of the CVS binary <b>on the server</b>. |
| The default value is often correct.</li> |
| <li>Ensure that you can log on to the server using the external SSH tool |
| <b>without specifying a password</b>.</li> |
| </ol> |
| <p><b>Note:</b> In Eclipse 2.1, you can also specify (on the Ext Connection |
| Method preference page) the parameters to be passed to the SSH client, including |
| the password.</p> |
| </li> |
| <li><b><a name="ssh_2">What is the difference between ext and extssh?</a></b> |
| <p>The extssh connection method uses a built-in SSH client. The ext connection |
| method allows you to specify an external SSH client to use. For extssh to |
| work with Eclipse 2.1.x and before, the server must be running an SSH server |
| with SSH1 protocol compatibility. If extssh does not work, it is possible |
| that the server is running only the SSH2 protocol. If this is the case, |
| you must configure the ext connection method with an external SSH client. |
| In Eclipse 3.0 and beyond, extssh does support SSH2. </p> |
| </li> |
| <li><a name="ssh_jcraft"></a><strong>My SSH server only support SSH2 protocol |
| and I'm using Eclipse 2.1.x</strong> <br /> |
| <br /> |
| Eclipse comes with a built-in SSH connection method called 'extssh'. Prior |
| to Eclipse 3.0, this method only supported SSH1 servers. If your server is |
| running SSH2 and you want to use Eclipse 2.1.x to connect to that server you |
| have two options: <br /> |
| <ol> |
| <li>use a command line SSH client that supports SSH2 with the 'ext' connection |
| method <br /> |
| </li> |
| <li>download a plugin created by <a |
| href="http://www.jcraft.com/eclipse-cvsssh2/">JCraft</a> that provides a SSH2 |
| connection method. <br /> |
| </li> |
| </ol> |
| To use the 'ext' connection method, download and install an SSH command line |
| client for your operating environment. In the Team > CVS > Ext Connection |
| Method preference page, configure the location of the SSH executable and how |
| the executable is to be called. For the ext method to work the CVS client |
| on your server must support the server mode. You can verify this by running |
| cvs --help-commands and ensure that the server command is supported.<br /> |
| </li> |
| <li><b><a name="ssh_3">How do I set up public-key authentication for an external |
| SSH client?</a></b> |
| <p>The steps for setting up public-key authentication vary depending on your |
| SSH client. However, they all follow this set of common steps: </p> |
| <ol> |
| <li>Use the client program (or a utility that came with it) to generate |
| a public/private key pair. This program might be called ssh-keygen or |
| puttygen.exe.</li> |
| <li>Copy the public key to the server. This is often done by pasting the |
| public key into the file <code>/home/user/.ssh/authorized_keys</code>.</li> |
| </ol> |
| </li> |
| <br /> |
| <li><b><a name="ssh_4">When I try to connect using SSH, it tells me "Could not |
| chdir to home directory /home/user/myname". What did I do wrong?</a></b> |
| <p>This often happens when using SourceForge projects for the first time, |
| but may occur on other servers as well. You must manually log in to the |
| server, using an interactive SSH session, in order to create your home directory |
| for the first time. After this, you will be able to log in successfully. |
| </p> |
| <p>Use your SSH client to connect to the server (e.g. cvs.sourceforge.net) |
| and log in with your username and password. Your home directory will be |
| created for you.</p> |
| </li> |
| <li><b><a name="ssh_5">I got an 'Unknown response' while trying to perform CVS |
| browsing. What went wrong?</a></b> |
| <p>A problem has been reported that involves the Cygwin SSH client (see bug |
| <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=21180">21180</a>). |
| Try using another SSH client such as Putty or <a |
| href="http://www.networksimplicity.com/openssh/">OpenSSH</a>. </p> |
| </li> |
| <li><a name="ssh_6"><strong>I can't get keys generated using Putty to work with |
| Eclipse</strong></a> |
| <p>Putty's private key is encrypted by AES, but JCE (Java Crtptgraphy Extension) |
| included in J2SE 1.4.x does not support AES. So, at present time, there is |
| no plan to support it. Of course, JSch (the SSH2 client used in Eclipse) may |
| support Putty's key by using the latest J2SE in the near future, but Eclipse |
| 3.0/3.1 will not be able to use it because they must run on J2SE 1.4.0. This |
| is explained more in bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=84281">https://bugs.eclipse.org/bugs/show_bug.cgi?id=84281</a>.</p> |
| </li> |
| <li><a name="ssh_7"><strong>Why do CVS extssh connections fail on Fedora Core 4</strong></a> |
| <p> |
| There is an issue with Sun's JDK 1.4.2 and Fedora Core 4 that causes extssh |
| connections to fail with the message: |
| <pre> |
| CVS Communication error: |
| org.eclipse.team.internal.ccvs.ssh2.CVSSSH2ServerConnection$SSH2IOException: |
| Invalid argument or cannot assign requested address |
| </pre> |
| The issue seems to be related to both IPv6 and IPv4 being available in FC4. The |
| solution is to add |
| <pre> |
| -Djava.net.preferIPv4Stack=true |
| </pre> |
| with the -vmargs option when eclipse is started. |
| <p></p> |
| </li> |
| <li><strong><a name="ssh_8">Why does CVS extssh prompt for my password even when it is saved?</a></strong> |
| <p>This problem has been seen on servers that have a problems in a particular authentication |
| method. This will cause extssh to believe that there has been an authentication failure which |
| trigger a password prompt. See bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=119008">119008</a> |
| for details. |
| </p> |
| </li> |
| </ol> |
| <br /> |
| <!-- Upgrading from Eclipse 1.0 --> |
| <h1>Upgrading from Eclipse 1.0</h1> |
| <ol> |
| <li><b><a name="10_1">Is there anything I should do before upgrading |
| from Eclipse 1.0 to 2.0?</a></b> |
| <p> </p> |
| <p><b>IMPORTANT:</b> Before upgrading from Eclipse 1.0 to 2.0, make |
| sure you release all your changes to the repository using Eclipse 1.0. |
| Although it is possible to submit the changes using Eclipse 2.0 after |
| you upgrade, to do so is not straight forward due to a change in how |
| the synchronization information for each project is stored.</p> |
| </li> |
| <p> </p> |
| <li><b><a name="10_2">I'm using a workspace from 1.0. Why does the |
| Team menu only contain "Share Project"?</a></b> |
| <p> </p> |
| <p>Team support changed drastically between Eclipse 1.0 and 2.0. As |
| such, the method of sharing projects with the repository changed as |
| well. We have tried to make it relatively easy for you to migrate, |
| however. You will notice that your previously shared projects only have |
| "Share Project" in the Team menu. If you select that option, a wizard |
| will guide you through the migration process. When you are finished, |
| your project will be shared and the Synchronize view will open. You |
| will see conflicting changes on every file - this is due to changes in |
| the way sync information is stored between 1.0 and 2.0. If you do not |
| have any outgoing changes (which you shouldn't have if you committed |
| all your outgoing changes before upgrading as recommended above), then |
| you can simply select the project in the Synchronize view and select |
| "Override and Update" which will load the current contents from the |
| server. If you do have outgoing changes, you can pull down the triangle |
| menu in the Synchronize view and select "Compare File Contents". After |
| some work, the Synchronize view will show you only the files which are |
| actually different. You can then use the Synchronize view to resolve |
| these conflicts.</p> |
| </li> |
| <p> </p> |
| <li><b><a name="10_3">Eclipse 1.0 created all my files as binary in |
| the repository. How do I fix this?</a></b> |
| <p> </p> |
| <p>Any file checked into a CVS repository from Eclipse 1.0 was |
| marked as binary. This means that end-of-line conversions will not |
| occur on checkout, and some features of CVS (such as auto-mergeable |
| conflicts) will not apply to these files. As such, it may be desirable |
| to change some of these files from binary to text. To change the file |
| types, do the following:</p> |
| <ol> |
| <li>Make sure that all members of your team have saved and |
| committed any changes to the affected files.</li> |
| <li>Select the resources you wish to change in the Navigator or |
| other view.</li> |
| <li>Context Menu->Team->Set Keyword Substitution...</li> |
| <li>Select "Automatic" to use the recommended detection. Click |
| Next.</li> |
| <li>Select the checkbox labelled "Include files that are already |
| in the repository". Click Next.</li> |
| <li>Click Finish. All affected files will immediately be modified |
| in the repository.</li> |
| <li>All other team members must now check out fresh copies of all |
| affected files.</li> |
| </ol> |
| </li> |
| <p> </p> |
| <li><b><a name="10_4">Is a Branch the same as a Stream? What about |
| other 1.0 terminology?</a></b> |
| <p> </p> |
| <p>In an effort to move away from generic terminology that applies |
| to all repository providers, and toward provider-specific terminologies |
| and workflows, many terms, menu items and labels have changed in 2.0. |
| Here is a brief list of some of the changes. For more detailed |
| information, please see the Eclise CVS documentation.</p> |
| <table border="1"> |
| <tbody> |
| <tr> |
| <td><b>Eclipse 1.0</b></td> |
| <td><b>Eclipse 2.0</b></td> |
| <td><b>Comments</b></td> |
| </tr> |
| <tr> |
| <td>Stream</td> |
| <td>Branch</td> |
| <td>The CVS terminology "Branch" replaces "Stream"</td> |
| </tr> |
| <tr> |
| <td>Catchup</td> |
| <td>Update</td> |
| <td>"Update" refers to the standard CVS method of retrieving |
| remote contents. For more details on Update, see the Eclipse CVS |
| documentation.</td> |
| </tr> |
| <tr> |
| <td>Release</td> |
| <td>Commit</td> |
| <td>These terms are equivalent.</td> |
| </tr> |
| <tr> |
| <td>Add to Workspace</td> |
| <td>Check Out as Project</td> |
| <td>The CVS terminology "Check Out" replaces "Add to |
| Workspace".</td> |
| </tr> |
| <tr> |
| <td><i>None</i></td> |
| <td>Tag</td> |
| <td>In CVS, a Tag refers to either a Branch Tag or a Version |
| Tag. Branches and versions together are referred to as Tags.</td> |
| </tr> |
| </tbody> |
| </table> |
| </li> |
| <p> </p> |
| <li><b><a name="10_5">I get a message saying the .vcm_meta file is |
| obsolete and should be deleted. Should I really delete it?</a></b> |
| <p> </p> |
| <p>In Eclipse 1.0, meta-information about a project was stored in |
| .vcm_meta. In Eclipse 2.0, this mechanism was made more general and the |
| data was moved to the .project file. As such, the .vcm_meta file is now |
| unneeded. The Eclipse CVS client will warn you of this state by placing |
| a warning in the task list. If you still have people on your team who |
| are using Eclipse 1.0 for development with your repository, then you |
| should not delete the .vcm_meta file. If all members of your team are |
| using Eclipse 2.0, then you can safely delete the .vcm_meta file and |
| commit the deletion to the repository.</p> |
| </li> |
| <p> </p> |
| </ol> |
| <br /> |
| <!-- Using Eclipse and CVS for Java Development --> |
| <h1>Using Eclipse and CVS for Java Development</h1> |
| <ol> |
| <li><b><a name="java_1">When I check out a Java project from the |
| repository, how do I make Eclipse aware it is a Java project?</a></b> |
| <p> </p> |
| <p>Eclipse makes use of information in the .project file to |
| determine if a project is a Java project. If the project you have |
| checked out does not have a .project file, Eclipse will not mark it |
| properly. If you use "Checkout As..." instead of "Checkout As Project" |
| in the Repositories view, then you will be given an opportunity to |
| specify Java as the project type and provide Java specific |
| configuration information.</p> |
| <p> </p> |
| <p> </p> |
| </li> |
| <li><b><a name="java_2">What is the .classpath file? Should I commit |
| it to the repository?</a></b> |
| <p> </p> |
| <p>Eclipse's Java development tools create and maintain a special |
| file, .classpath, in the root of each Java project. This file contains |
| information about the project's classpath, including references to |
| other projects, external jars, and the project's own source path. If |
| you are working on a team with other developers that use Eclipse, you |
| probably want to commit this file to the repository so that others can |
| benefit from correct classpath settings. If the other developers on |
| your team do not use Eclipse, you may still want to commit the |
| .classpath file so that your settings are persisted - this should not |
| affect the users that are not using Eclipse.</p> |
| <p> </p> |
| <p> </p> |
| </li> |
| <li><b><a name="java_3">In my CVS repository, there is a source |
| directory in the repository root. How can I use this with Eclipse?</a></b> |
| <p> </p> |
| <p>If the name of the CVS module is part of the package name of |
| Java files, you will encounter problems. For example, if the module you |
| check out is called "test", and it contains a folder called "code" |
| which contains Java files that claim to be in the package "test.code", |
| Eclipse will not be able to compile these Java classes. There are |
| several solutions to this problem:</p> |
| <ol> |
| <li>One solution is to move the top-level package folder ("test" |
| in this case) to be a subfolder of the CVS module. In this case, create |
| a folder called "test" in the project "test", and move "code" into it. |
| Then commit your changes. |
| <p> </p> |
| </li> |
| <li>Another possible solution is to use modules definitions. |
| Modules can be defined in the CVSROOT/modules file to include root |
| level projects as subfolders of the checked out folder stucture. The |
| steps to get this to work for the above example are: |
| <ol> |
| <li>Add the following two lines to the CVSROOT/modules file<br /> |
| test &test<br /> |
| MyProject &test </li> |
| <li>In the CVS Repositories View, select the modules with the |
| name matching the one defined in the CVSROOT/modules file (Note that in |
| Eclipse 2.0.x, you will need to switch to "Show Modules" mode using the |
| drop down menu in the title bar in order to see the module).</li> |
| <li>Select "MyProject" and choose "Checkout Module" from the |
| popup menu.</li> |
| </ol> |
| See the <a href="http://www.cvshome.org">CVS documentation</a> for |
| more information on defining modules. |
| <p> </p> |
| </li> |
| <li>If you are using Eclipse 2.1, you can create a new Java |
| Project and then perform a "Checkout Into..." on the CVS Module. This |
| operation allows you to check out a CVS modules into an existing |
| project as a subfolder and configures that target project to be shared |
| with CVS. </li> |
| </ol> |
| <p>Source folders must always begin beneath the project, not above |
| it. See the Eclipse Java Development Tools documentation for more |
| information on source folders.</p> |
| </li> |
| <p> </p> |
| <li><b><a name="java_4">How do I check out a module definition as a |
| Java project?</a></b> |
| <p> </p> |
| <p>To check out a module that is defined in the CVSROOT/modules |
| file as a Java project, you may have to pre-create the target project |
| as a java project in the workspace before performing the "Check Out |
| Module". </p> |
| </li> |
| <p> </p> |
| <li><b><a name="java_5">Why does the bin directory keep appearing in |
| the Synchronize view?</a></b> |
| <p> </p> |
| <p>JDT marks most of its build output as being derived resources so |
| that CVS and other repository types can easily ignore these resources |
| from version control. However, if you define custom source and build |
| output folders, the newly created build output folder will not be |
| marked as derived. In many cases the root build output folder is named |
| bin. To ignore this folder, select it in the navigator and choose Team |
| > Add to .cvsignore, then commit the .cvsignore file to the |
| repository so that the bin folder will be ignored at all times for that |
| project. </p> |
| </li> |
| <p> </p> |
| <li><b><a name="java_5a">I ignored the bin directory but it appears |
| to be shared anyway. Why?</a></b> |
| <p> </p> |
| <p>If a resources whose name matches a pattern in the .cvsignore |
| also exists in the repository, then this resource is not ignored. For |
| the case of the bin folder, chances are that the bin folder was |
| committed to the repository at some point. The solution is to purge |
| this directory from the repository. </p> |
| </li> |
| <p> </p> |
| <li><b><a name="java_6">How do I use CVS keywords in Java templates?</a></b> |
| <p> </p> |
| <p>Substitute the usual keyword (e.g. $Revision: 1.1 $) with the $ |
| escaped version (e.g. $$Revision: 1.1 $$). </p> |
| </li> |
| <p> </p> |
| <li><b><a name="java_7">I'm working with a virtual module defined in |
| the CVSROOT/modules file. How do I commit the .project and/or |
| .classpath file?</a></b> |
| <p> </p> |
| <p>The easiest way to address this problem is to create a project |
| in the repository whose purpose is to hold the .project and .classpath |
| files for your module. For example, if your module definition is <i>my-module |
| &sub-dir1 &sub-dir2</i> you could change it to <i>my-module |
| my-module-project &sub-dir1 $sub-dir2</i> where my-module-project |
| is an new folder on the CVS server. Committing the .project and |
| .classpath files would create the files in this folder. </p> |
| </li> |
| <p> </p> |
| </ol> |
| <br /> |
| <!-- Compatibility Between CVS Command-line Client and Eclipse --> |
| <h1>Compatibility Between CVS Command-line Client and Eclipse</h1> |
| <ol> |
| <li><b><a name="commandLine_1">Does Eclipse use [WinCVS|CVS |
| command-line client] to talk to the server?</a></b> |
| <p> </p> |
| <p>No. Eclipse implements a CVS client in Java that talks directly |
| to the server using the documented CVS protocol. No external CVS client |
| is required.</p> |
| </li> |
| <p> </p> |
| <li><b><a name="commandLine_2">The command-line CVS client stores |
| information in CVS folders. Does Eclipse do the same thing? If so, |
| where are the folders?</a></b> |
| <p> </p> |
| <p>Eclipse stores CVS sync information in CVS/ folders in the same |
| way as the command-line CVS client does. However, you rarely see these |
| folders within Eclipse. They are marked using a Core facility called |
| "team-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> |
| </li> |
| <p> </p> |
| <li><b><a name="commandLine_3">Is Eclipse compatible with the |
| command-line CVS client?</a></b> |
| <p> </p> |
| <p>Eclipse Team CVS stores its meta information in a format that is |
| compatible with the command-line CVS client. Thus you should be able to |
| use a CVS command line client against Eclipse workspace files on disk. |
| Please note that this support is experimental, and you may run into |
| problems. However, we are very interested in making this work, so |
| please report any bugs you find.</p> |
| <p>Whenever you use external tools to modify workspace files, you |
| must perform a Refresh from within Eclipse to make the workspace aware |
| of the changes.</p> |
| <p>You may encounter unexpected behaviour 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 should |
| not cause any lost work.</p> |
| </li> |
| <p> </p> |
| <li><b><a name="commandLine_4">Can I import a project into Eclipse |
| that was checked out using the command line?</a></b> |
| <p> </p> |
| <p>Yes you can. However, you may encounter errors from the builder |
| related to the copying of the CVS folders. This can have two causes. |
| The first is when the project is imported before the CVS plugin is |
| loaded. To avoid this problem, make sure you open one of the CVS views |
| before importing the project. The second is due to a "race" on import |
| between the CVS plugin and other plugins that react to the import. If |
| the CVS plugin wins the race, then the CVS folders are hidden but if |
| another plugin discovers the CVS folders first, it may cause the |
| workbench to "know" about them and perform inappropriate actions on |
| them. The best way to solve the problem is to run a <b>Team>Update</b> |
| on the project and then shutdown and restart Eclipse (although closing |
| and reopening the view in which the CVS folders appear may work as |
| well). If this fails, you may need to check the projects out from your |
| repository using Eclipse instead of the command line client.</p> |
| <p>There is a plugin named <i>org.eclipse.team.cvs.delta</i> |
| available on the <a |
| href="http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/platform-vcm-home/dev.html">Development |
| Resources</a> page that loads on startup and ensures that CVS folders |
| are properly hidden. If you import CVS projects often, you may want to |
| use this plugin. </p> |
| </li> |
| <p> </p> |
| <li><b><a name="commandLine_5">Why does Eclipse corrupt my *.jar, |
| *.zip, etc. files?</a></b> |
| <p> </p> |
| <p>This problem is caused by the keyword substitution mode assigned |
| to the file on the server. Any binary files must be marked as -kb. The |
| default for CVS is to mark unknown file types as text. CVS provides |
| cvswrappers and the cvs admin command to set file types.</p> |
| </li> |
| <p> </p> |
| <li><b><a name="commandLine_6">When I use the command-line CVS on my |
| project, why do the CVS folders sometimes appear in the Navigator View?</a></b> |
| <p> </p> |
| <p>There are some cases where CVS folders are not hidden from the |
| UI as the user 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. There is also |
| a plugin available <a |
| href="http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/platform-vcm-home/dev.html">here</a> |
| that will ensure that the CVS folders are properly hidden even if the |
| CVS plugin is not loaded.</p> |
| </li> |
| <p> </p> |
| <li><b><a name="commandLine_7">When I use the command-line CVS on my |
| project, why go I get "resource out of sync" errors?</a></b> |
| <p> </p> |
| <p>This occurs when files that are resources in Eclipse are |
| 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 an "auto-refresh" |
| plugin available from Platform Core (click <a |
| href="http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/platform-core-home/dev.html">here</a> |
| to go to there).</p> |
| </li> |
| <p> </p> |
| </ol> |
| <br /> |
| <!-- Working with Patches --> |
| <h1>Working with Patches</h1> |
| <ol> |
| <li><b><a name="patches_1">How do I send someone a patch?</a></b> |
| <p> </p> |
| <p>If you have modified a project that you checked out from CVS, |
| you may want to send those changes to someone else. This often occurs |
| when you do not have commit rights, but want to send the changes to |
| someone who does. To create a patch file:</p> |
| <ol> |
| <li>Select the changed project in the Navigator or other view.</li> |
| <li>Context Menu->Team->Create Patch...</li> |
| <li>Select a location for the patch.</li> |
| <li>Use E-mail or other delivery method to send the patch to |
| someone else.</li> |
| </ol> |
| </li> |
| <p> </p> |
| <li><b><a name="patches_2">How do I apply a patch that someone sent |
| me?</a></b> |
| <p> </p> |
| <p>To apply a patch, such as one generated in the previous step, do |
| the following:</p> |
| <ol> |
| <li>Select the changed project in the Navigator or other view.</li> |
| <li>Context Menu->Compare With->Patch...</li> |
| <li>Fill in the location of the patch file</li> |
| <li>Click Next. A summary of changed files will appear.</li> |
| <li>Click Finish. The changes are now merged into the workspace.</li> |
| <li>Context Menu->Team->Synchronize. You may now commit the |
| changes into the repository.</li> |
| </ol> |
| </li> |
| <p> </p> |
| </ol> |
| <br /> |
| <!-- Linux --> |
| <h1>Linux Issues</h1> |
| <ol> |
| <p> </p> |
| <li><b><a name="linux_0">On linux, using IBM JRE 1.3.0, I get a |
| timeout when connecting to a repository. What's wrong?</a></b> |
| <p> </p> |
| <p>Problems have been reported in this area using IBM JRE 1.3.0 on |
| Linux. The solution is to upgrade your JRE to version 1.3.1.</p> |
| </li> |
| <p> </p> |
| <li><b><a name="linux_1">On Red Hat 8, Eclipse fails to make a |
| checkout but it works with other clients. Why?</a></b> |
| <p> </p> |
| <p>The problem may be the encoding in /etc/sysconfig/i18n file. If |
| the language encoding is </p> |
| <pre> LANG="en_US.UTF-8"<br /> </pre> |
| changing it to |
| <pre> LANG="en_US"<br /> </pre> |
| should fix the problem. |
| <p></p> |
| </li> |
| <p> </p> |
| </ol> |
| <!-- Windows --> |
| <h1>Windows Issues</h1> |
| <ol> |
| <p> </p> |
| <li><b><a name="windows_0">Eclipse crashed Windows 2000 (blue screen) |
| when performing a CVS operation. What happened?</a></b> |
| <p> </p> |
| <p>Instances of this have been reported that involve the NDIS.sys |
| driver and particular brands of network cards (see bug <a |
| href="http://dev.eclipse.org/bugs/show_bug.cgi?id=21276">21276</a>).</p> |
| </li> |
| <p> </p> |
| <li><b><a name="windows_2">Eclipse always times out when performing a |
| Synchronize on one or two particular machines?</a></b> |
| <p> </p> |
| <p>Instances of this have been reported that involve the VIA |
| on-board network cards (see bug <a |
| href="http://dev.eclipse.org/bugs/show_bug.cgi?id=21276">27077</a>). |
| Changing the network card fixed the problem.</p> |
| </li> |
| <p> </p> |
| <li><b><a name="windows_3">Why do CVS operations slow down when I am |
| connected to my network/dial-up?</a></b> |
| <p> </p> |
| <p>I have a large number of entries in my hosts file for anti-ad |
| software - and when I'm connected, name resolution (even to localhost) |
| slows to a crawl. When I'm not connected, localhost gets resolved at |
| normal speed. I think this might be a "feature" of 2000/XP - it didn't |
| happen in NT.</p> |
| </li> |
| <li><b><a name="windows_4">Why do all my files show as outgoing |
| changes?</a></b> |
| <p> </p> |
| <p>The CVS plugin uses timestamps of the files on disk to track the |
| modification state of versioned files. As a result, there are some |
| cases where Windows users may find that as a result of either (1) an |
| automatic daylight savings change or (2) moving files between file |
| systems, that all the files show up as outgoing changes. See <a |
| href="http://dev.eclipse.org/bugs/show_bug.cgi?id=5337">Bug 5337</a> |
| for an explanation of the problem and workarounds. </p> |
| <p>Thers is a utility action that will reset the timestamps so the |
| files are in-sync with CVS. Be warned however that this utility resets the |
| timestamps for any file whose timestamp differs from the sync timestamp by 1 hour. |
| There is a possibility that this could reset a file that is really dirty. Use at your own risk. |
| To use the action, install the plugin found <a href="http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/platform-vcm-home/plugins/fixtimestamps.zip">here</a> |
| and them run the CVS Util/Fix Timestamps command available from the context menu of the Resource Navigator. |
| </p> |
| </li> |
| <p> </p> |
| </ol> |
| <!-- Miscellaneous --> |
| <h1>Miscellaneous</h1> |
| <ol> |
| <li><b><a name="misc_0">Is there any equivalent to CVS_CLIENT_LOG is |
| Eclipse?</a></b> |
| <p> </p> |
| <p>Yes, there are tracing facilities in Eclipse that will allow you |
| to see what messages are being communicated between the CVS client and |
| server. Here's how:</p> |
| <ol> |
| <li>Create a file named ".options" in the directory you start Eclipse from |
| (in most cases this is the directory that contains the executable but |
| it may differ in some cases: for instance, if you use a shortcut in windows |
| and specify a different starting directory) that contains the following |
| 2 lines that enable CVS debugging. |
| <pre> org.eclipse.team.cvs.core/debug=true<br /> org.eclipse.team.cvs.core/cvsprotocol=true<br /> </pre> |
| </li> |
| <li>Start Eclipse with the following parameters tailored to you |
| local setup (The below example is for windows). The important aspects |
| are the use of java.exe instead of javaw.exe and the inclusion of the |
| -debug and -consolelog options. These will cause the debug console to |
| be visible and for debugging output to appear in the console. |
| <pre> C:\eclipse\eclipse.exe<br /> -vm C:\jre\bin\java.exe<br /> -data C:\eclipse\workspace<br /> -debug<br /> -consolelog<br /> </pre> |
| </li> |
| <li>Inside Eclipse, create your repo location and expand it in |
| the repositories view (for example). The CVS command traffic in the |
| debug console should contains an invocation of the update command that |
| looks something like (this is output from dev.eclipse.org): |
| <pre> CMD> cvs -n update -d "."<br /> ...<br /> update<br /> E cvs server: Updating .<br /> E cvs server: New directory `CVSROOT' -- ignored<br /> E cvs server: New directory `jdt-core-home' -- ignored<br /> E cvs server: New directory `jdt-debug-home' -- ignored<br /> ...<br /> </pre> |
| </li> |
| </ol> |
| </li> |
| <p> </p> |
| <li><b><a name="misc_1">What is the .project file, and should I |
| release it to CVS?</a></b> |
| <p> </p> |
| <p>The .project file is created and maintained by Eclipse. It |
| stores meta-information about the project, such as which projects it |
| references and what type of project it is. If other members of your |
| team will be using Eclipse to check out this project from CVS, you |
| almost certainly want to release the .project file to CVS. Even if |
| other members of your team are not using Eclipse, you may still want to |
| release the .project file so that the information is persisted for you.</p> |
| </li> |
| <p> </p> |
| <li><b><a name="misc_2">I don't have update access to the CVS |
| repository. Can I still check out a project with Eclipse?</a></b> |
| <p> </p> |
| <p>In some circumstances, depending on permissions on the server, |
| you may not be able to browse the repository in the CVS Repositories |
| view. In this case, it may still be possible to check out the project |
| you want.</p> |
| <ol> |
| <li>Create an empty project.</li> |
| <li>Context Menu->Team->Share Project...</li> |
| <li>Enter the repository information and click Finish</li> |
| <li>The Synchronize view appears. Update all incoming changes.</li> |
| </ol> |
| <p>The project in your workspace is now shared with the CVS |
| repository, and contains the remote contents.</p> |
| </li> |
| <p> </p> |
| <li><b><a name="misc_3">What does "Terminated with fatal signal 10" |
| mean?</a></b> |
| <p> </p> |
| <p>There is a bug in the CVS server related to some compression |
| levels. If you get this error, change the compression level on the CVS |
| preferences page and see if that helps.</p> |
| </li> |
| <p> </p> |
| <li><b><a name="misc_4">I copied some folders from one CVS project to |
| another and the old CVS information remained. What happened?</a></b> |
| <p> </p> |
| <p>There is a bug in the CVS client in Eclipse 2.0 that will not |
| purge the CVS folders properly if a folder under CVS control is moved |
| into a folder that is not under CVS control. If this occurs, you will |
| need to delete the CVS folders manually.</p> |
| </li> |
| <p> </p> |
| <li><b><a name="misc_8">I used Team > Share Project to connect a |
| local project to an existing project and it takes forwever. Why?</a></b> |
| <p> </p> |
| <p>The particular method you have chosen to populate your workspace |
| (i.e. create a new project and then sync against a large existing one) |
| happens to be one of the most ineffiecient operations in the Eclipse |
| CVS client. The CVS protocol does not support this type of operation |
| directly which results in the ineffiecient, communication intensive |
| operation. The proper way to populate your workspace is to use |
| "Checkout as Project" from the CVS Repositories view. Once the project |
| and its contents exists locally, the synchronize operatons should be |
| much faster.</p> |
| </li> |
| <p> </p> |
| <li><b><a name="misc_9">Does Eclipse support Watch/Edit?</a></b> |
| <p> </p> |
| <p>Eclipse 2.1 supports CVS Edit/Unedit. In 2.0, you can use the |
| following workaround:</p> |
| <pre> Run->External Tools->Configure...->New<br /> Name: CVS Watchers<br /> Tool Location: C:\cygwin\bin\cvs.exe<br /> Tool arguments: watchers<br /> Working directory: ${container_loc}<br /> After running, refresh: Nothing<br /> Check Show Execution Log on Console<br /> OK<br /> New<br /> Name: CVS Edit<br /> Tool Location: C:\cygwin\bin\cvs.exe<br /> Tool arguments: edit ${resource_name}<br /> Working directory: ${container_loc}<br /> After running, refresh: Nothing<br /> Check Show Execution Log on Console<br /> OK<br /> </pre> |
| <p> Unedit works the same as Edit, Editors works the same way as |
| Watchers. To use the tools, highlight the file or directory on which to |
| execute the CVS command, then select Run->External Tools-><tool |
| name=""> If you don't select the file/directory first, CVS will |
| complain that the CVSROOT variable must be set first. </tool></p> |
| </li> |
| <p> </p> |
| <li><b><a name="misc_12">Why do I get a "Pre-commit failed" error |
| with no detailed error message?</a></b> |
| <p> </p> |
| <p> The problem is that the CVS server communicates the error |
| details as M messages instead of E messages and so the error handling |
| in Eclipse doesn't display them. Eclipse has a CVS console which you |
| can open from the Window>Show View>Other menu command. If this |
| view is open and you run the failing commit, it will show you the error |
| details. </p> |
| </li> |
| <p> </p> |
| <li><b><a name="misc_13">Why can"t I get my pserver CVS proxy to work?</a></b> |
| <p> </p> |
| <p> There are some quirks with some firewalls. See bug |
| <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=133930">133930</a> |
| for details</p> |
| </li> |
| </ol> |
| </body> |
| </html> |