Community
Participate
Working Groups
Hello, We are moving from FreeVCS to CVS and have installed the CVS NT service from http://www.cvsnt.org on our local server. This server has been used successfully with: * the WinCVS client from http://www.cvsgui.org * the Visual Studio SCC plugin from http://www.jalindi.com/igloo * Forte for Java's built-in CVS support We are interested in moving to Eclipse for Java development, but are having trouble using its CVS support. We are using the 'F2' release, dated June 2, 2002. In that release, we can connect to CVS, add a project to CVS, initially synch the project from CVS, and any single developer can make changes, release those changes, and so forth. Other CVS clients can pick up changes made from Eclipse. However.... If any tool (including someone else using Eclipse) pushes a change, and the Eclipse user then goes to 'Team->Synchronize with Repository', the synch will fail for the first file which is newer on the server than in the local copy. The error message is: Unable to Synchronize An error has occurred processing the file 'D:/cvs/repo/TEST/Team/folder1/text.txt 1.6' In this case, the Eclipse project named 'Team' contains a file named 'text.txt' in the folder named 'Folder1' (physically, this is somewhere under the Eclipse workspace on the C drive). The Eclipse user probably has version 1.5. Another Eclipse user (or any other tool) used CVS to push a new version, 1.6. The CVS repository is on the server's D drive as shown in the error message. When the Eclpise user next tries to synch the project, we get the above error instead of the anticipated Synchronize window allowing us to get the new file from the server. Any help would be much appreciated. randy.pierce@crossbit.com
Moving to Platform/VCM for comment.
What are you using as your respository path? Is it the Unix style (/cvs/root) or Windows style (D:\cvs\root). Eclipse only supports the use of Windows style path names when communicating with a CVSNT server. Also, is there anything in the .metadata/.log file inside your workspace?
Physically, on the server, the CVS TEST repository is in: D:\cvs\repo\test Logically, this is the repository named 'TEST' as far as CVS is concerned. In all other products we entered the path as '/TEST', yielding the fully qualified CVS root value of: :pserver:randy@hq:/TEST I justed tried to add a new CVS repository in Eclipose and entered 'D:\cvs\repo\test' as the path. Eclipse reports (via CVS no doubt): Unable to Validate Connection refused: d:/cvs/repo/test: no such repository. Keep location anyway? Note that the reported error has forward slashes (/), but I have verified that I entered the Repository path using backslashes (\). No information was written to the .log file at this point. I changed the path in Eclipse back to '/TEST' as I had it before. This results in a successful connection, and I get the following in the .log file: !ENTRY org.eclipse.team.cvs.core 2 -21 Jun 05, 2002 09:25:29.167 !MESSAGE Host 'hq' is running CVS NT (version 1.11.1.3) which is not fully supported. However, most functionality is available. Note that Eclipse appears to work fine with the path of '/TEST', I can checked out the 'Team' project and so on. Once again I updated a file in the project from another user. Once again I attempted to 'Team->Synchronize with Repository', and once again I got the error about processing the file 'D:/cvs/repo/TEST/Team/folder1/text.txt 1.7'. The .log file now contains: !ENTRY org.eclipse.team.cvs.core 4 -6 Jun 05, 2002 09:28:21.582 !MESSAGE An error has occurred processing file 'D:/cvs/repo/TEST/Team/folder1/text.txt 1.7' I do appreciate your help and the excellent response. Hopefully we can figure out what silly config error I've made and start using Eclipse for shared projects. Thanks again, Randy
If you want to use Eclipse with CVSNT you will need to configure the CVSNT server to use absolute paths (i.e. disable the repository prefix in the CSNT control panel). The reason is that the server does not communicate all paths using the relative mapping and Eclipse needs this information to perform synchronization.
closing, will add to FAQ