| 1 |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> |
| 2 |
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> |
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> |
| 3 |
<head> |
<head> |
| 4 |
<meta content="application/xhtml+xml; charset=utf-8" |
<meta content="application/xhtml+xml; charset=utf-8" http-equiv="content-type" /> |
| 5 |
http-equiv="content-type" /> |
<meta http-equiv="refresh" content="2;url=http://wiki.eclipse.org/index.php/CVS_FAQ"> |
| 6 |
<meta content="haran" name="author" /> |
<title>Eclipse Platform - CVS FAQ Redirect</title> |
|
<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> |
|
| 7 |
</head> |
</head> |
| 8 |
<body> |
<body> |
| 9 |
<table width="100%" cellpadding="2" cellspacing="5" border="0"> |
<p>The Eclipse CVS FAQ has moved to <a herf="http://wiki.eclipse.org/index.php/CVS_FAQ">http://wiki.eclipse.org/index.php/CVS_FAQ</a>. |
| 10 |
<tbody> |
You will be redirected shortly. |
|
<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$</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$) with the $ |
|
|
escaped version (e.g. $$Revision$$). </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> |
|
| 11 |
</body> |
</body> |
| 12 |
</html> |
</html> |