Ok,
This error goes away if I make the CVSROOT/EmptyDir group writeable.
However, I'm curious why CVS had to resort to using the EmptyDir for this
directory? The information contained in the CVS/Root and CVS/Repository
files was enough to correctly
identify the directory in the repository.
Oh well. Because it works, my questions are purely academic now.
One more observation I have on this is that there is a cvs behavioral
difference between doing these two things:
cvs status tools/# This was producing my EmptyDir error
message
cd tools/
cvs status . # This works just fine without an
error (and without using EmptyDir)
Todd
We've got several projects that include some global tools. At this
transition,
I am trying to take one of the tools that we've developed in our project,
push
it out into the global area and check it back out into our project's
working
directory. I would really like to put this global tool back in the same
directory
so all of our Makefiles and scripts don't have to change to know about a
new
directory. Most things seem to work correctly, however, I'm running into
an error
with 'cvs status' when I do so.
Please let me know if you have any thoughts on why I am seeing the error at
the
bottom.
Thanks!
Todd
Everything is scripted but here are the manual steps that I have done to
reproduce
this problem:
[[ Checkout our project ]]
miller --> cvs -d :pserver:@myserver:/proj/myproj/cvsroot co -d Test
proj_name
This creates several directories but what I'm interested in is in the tools
directory.
miller --> ls -l tools/
drwxrwxr-x2 todd design 4096 Jun 9 14:15 CVS
drwxrwxr-x3 todd design 4096 Jun 9 14:15 mytool
miller --> ls -l tools/mytool/
drwxrwxr-x2 todd design 4096 Jun 9 14:15 CVS
[[ Remove the old project-specific tool (now empty with all files in the
Attic) ]]
miller --> cvs release -d mytool
You have [0] altered files in this repository.
Are you sure you want to release (and delete) directory `mytool': y
[[ Checkout the new global tool back into the same directory ]]
miller --> cvs -d :pserver:@myserver:/proj/global/cvsroot co -d mytool
tools/mytool
cvs checkout: Updating mytool
U mytool/File1
U mytool/File2
U mytool/File3
U mytool/File4
U mytool/File5
U mytool/File6
Everything seems fine at this point, however, if I go back to the root of
my working
copy and do a 'cvs status tools' I get:
miller --> cvs status tools
cvs status: Examining tools
===
File: .keepdir Status: Up-to-date
Working revision:1.1
Repository revision: 1.1
/proj/myproj/cvsroot/proj_name/tools/.keepdir,v
Sticky Tag: (none)
Sticky Date: (none)
Sticky Options: (none)
cvs status: Examining tools
cvs status: failed to create lock directory for
`/proj/global/cvsroot/CVSROOT/Emptydir'
(/proj/global/cvsroot/CVSROOT/Emptydir/#cvs.lock): Permission denied
cvs status: failed to obtain dir lock in repository
`/proj/global/cvsroot/CVSROOT/Emptydir'
cvs [status aborted]: read lock failed - giving up
[[ I can easily change the permissions on the Emptydir directory, however I
would like to know why
CVS is using this directory in the first place since this has never
happened before. ]]
___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs