Community
Participate
Working Groups
We are using eclipse for developing a large application in java and we take advantage of the cvs support that it comes included. But we are having problems tagging the project using eclipse. When we try to tag the project it always gives the same error this is the CVS command that we see in the CVS console: cvs tag -F "/projectPROD/PRJ_v_2_45" "/projectPROD/ this is the result: Error: projectPROD: cvs server: failed to create lock directory for `/usr/local/cvsroot/CVSROOT/Emptydir' (/usr/local/cvsroot/CVSROOT/Emptydir/#cvs.lock): Permission denied Error: projectPROD: cvs server: failed to obtain dir lock in repository `/usr/local/cvsroot/CVSROOT/Emptydir' Error: projectPROD: cvs [server aborted]: read lock failed - giving up If we try to tag small groups of files the operation runs without problem. While testing it appears that it doesn't like deep directories (more than one level). If we try to tag all the sources in the navigator while in the java perpective with the layout set to flat we can tag all the sources, but if we are in the hierarchical layout then it the error appears. The project has a lot of other files (jsp's, xml,..) so we can't use this workaround. When using the wincvs tool we can tag all the project with one command without problems so we think it's not a CVS server problem.
Could you perform the steps outlines in the provided URL and attach the results. This will help determine if it is a client or server problem. http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/platform-vcm- home/docs/online/cvs_features2.0/cvs-faq.html#misc_0 P.S. I suspect that it is a server issue. Eclipse follows the CVS protocol but perhaps not in the exact way other clients do and this can surface server issues that do not occur with other clients. A workaround for this problem is to change the permissions of the CVSROOT/Emptydir directory. Another is to configure your locks to stored in a tmp directory by adding the line "LockDir=/tmp" to the CVSROOT/config file of your repo.
I've turned on the debug information as explained in the link. I don't have acess to the CVS repository so I can't try the workarounds. The repository is in a Solaris enviroment. Don't know the version but i will try to find out. This is the last part of the log. Argument PRJ_v_2_45 Argument . Directory . /usr/local/cvsroot/project tag M ? .classpath M ? .cvsignore M ? .mymetadata M ? .project M ? deploy/ProjectHandler.jar M ? deploy/project.war E cvs server: failed to create lock directory for `/usr/local/cvsroot/CVSROOT/Emptydir' (/usr/local/cvsroot/CVSROOT/Emptydir/#cvs.lock): Permission denied E cvs server: failed to obtain dir lock in repository `/usr/local/cvsroot/CVSROOT/Emptydir' E cvs [server aborted]: read lock failed - giving up error RESULT> Status ERROR: org.eclipse.team.cvs.core code=-10 The server reported an error while performing the "cvs tag" command. null children=[Status ERROR: org.e clipse.team.cvs.core code=-14 cvs server: failed to create lock directory for `/usr/local/cvsroot/CVSROOT/Emptydir' (/usr/local/cvsroot/CVSROOT/Emptydir/#cvs.lock): Permission denied null Status ERROR: org.eclipse.team.cvs.core code=-14 cvs server: failed to obtain dir lock in repository `/usr/local/cvsroot/CVSROOT/Emptydir' null Status ERROR: org.eclipse.team.cvs.core code=-14 cvs [server aborted]: read lock failed - giving up null] !SESSION 2005-10-25 17:38:50.546 ----------------------------------------------- eclipse.buildId=I20050627-1435 java.version=1.4.2_04 java.vendor=Sun Microsystems Inc. BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=pt_PT Command-line arguments: -os win32 -ws win32 -arch x86 -debug .options -consolelog !ENTRY org.eclipse.team.cvs.core 4 -10 2005-10-25 17:45:28.61 !MESSAGE The server reported an error while performing the "cvs tag" command. !SUBENTRY 1 org.eclipse.team.cvs.core 4 -14 2005-10-25 17:45:28.77 !MESSAGE projectPROD: cvs server: failed to create lock directory for `/usr/local/cvsroot/CVSROOT/Emptydir' (/usr/local/cvsroot/CVSROOT/Emptydir/#cvs.lock): Permission denied !SUBENTRY 1 org.eclipse.team.cvs.core 4 -14 2005-10-25 17:45:28.77 !MESSAGE projectPROD: cvs server: failed to obtain dir lock in repository`/usr/local/cvsroot/CVSROOT/Emptydir' !SUBENTRY 1 org.eclipse.team.cvs.core 4 -14 2005-10-25 17:45:28.77 !MESSAGE projectPROD: cvs [server aborted]: read lock failed - giving up
Just checked, the CVS server version is 1.11.5
There doesn't seem to be anything wrong with what we are sending to the server. I suspect this is a quirk of the server that is surfaced by the fact the the Eclipse client does not act 100% like the CLI client (i.e. Eclipse is not doing anything wrong that I can see, it is just doing something slightly different which is surfacing a server bug).
What I found strange is that it depends on the depth of directories that I'm trying to tag. I think it must have to do how eclipse sends the files that it wants to tag. If i tag the main directory of the project it gives an error, but if I select the files one by one than it doesn't crash. Maybe there's a bug in CVS server when iterating in directories, when I tag individual files it doesn't have to iterate... But this doesn't explain what the wincvs do in a different way :(
This bug hasn't had any activity in quite some time. Maybe the problem got resolved, was a duplicate of something else, or became less pressing for some reason - or maybe it's still relevant but just hasn't been looked at yet. If you have further information on the current state of the bug, please add it. The information can be, for example, that the problem still occurs, that you still want the feature, that more information is needed, or that the bug is (for whatever reason) no longer relevant.