-
Unable to create project
I'm new to CVS, and struggling.
I've set up a repository, and I can check out and put back in files under
CVSROOT, e.g. modules, but I can't create a project.
I'm using:
cvs import -b 0.0.1 -m "Created directory structure" serbert serbert start
This gives me:
cvs server: cannot make path to /cvs/serbert: Permission denied
I've tried it without the -b option, and with and without anything in the
local directory. I can create the directory in the repository manually
(which I then delete manually), so I know my permissions are correct.
The only other thing that I can think of that could affect it, is I have
created an empty readers file, and a writers file, with my username in, but
surely this must be OK, as I can checkout and commit files under CVSROOT.
Has anyone any ideas? I would be really grateful.
I'm using Linux and CVS 1.11.1p1-301
--
Dave Clarke
-
Re: Unable to create project
Hi Dave,
What kind of connection protocol are you using to access the CVS
server -
server:, :ext:, or something else? If you are using
pserver, have you created a CVSROOT/passwd file? If so, is your CVS
user assuming the identity of a UNIX user defined on the server? That
might be a place to look for permissions issues, especially if the
owner of the /cvs/serbert tree is different than the user that the CVS
process is running as.
Another useful diagnostic tool for problems like these on Linux is the
"strace" program. You can attach to a daemon process and then look at
the output to find out why the permissions problem is occurring. A
typical command line might look like this (assuming you are running
CVS pserver via xinetd):
strace -ff -v -s 256 -o/tmp/cvs.out -p &
Next, run the import command and then kill the strace process. You
should be left with a bunch of files named /tmp/cvs.out.?????, one for
each process that was spawned by xinetd. By scanning through the
output, you should be able to tell what user id the CVS process is
running as and why the permissions problem is occurring.
Hope that helps,
Greg
----
SourceHosting.Net, LLC
The new baseline for configuration management
http://www.sourcehosting.net/
Dave Clarke wrote in message news:<536t0c-ccq.ln@pinguino.local.home>...
> I'm new to CVS, and struggling.
>
> I've set up a repository, and I can check out and put back in files under
> CVSROOT, e.g. modules, but I can't create a project.
>
> I'm using:
>
> cvs import -b 0.0.1 -m "Created directory structure" serbert serbert start
>
> This gives me:
>
> cvs server: cannot make path to /cvs/serbert: Permission denied
>
> I've tried it without the -b option, and with and without anything in the
> local directory. I can create the directory in the repository manually
> (which I then delete manually), so I know my permissions are correct.
>
> The only other thing that I can think of that could affect it, is I have
> created an empty readers file, and a writers file, with my username in, but
> surely this must be OK, as I can checkout and commit files under CVSROOT.
>
> Has anyone any ideas? I would be really grateful.
>
> I'm using Linux and CVS 1.11.1p1-301
-
Re: Unable to create project
> Dave Clarke wrote in message
> news:<536t0c-ccq.ln@pinguino.local.home>...
>
>> I've set up a repository, and I can check out and put back in files under
>> CVSROOT, e.g. modules, but I can't create a project.
>>
>> I'm using:
>>
>> cvs import -b 0.0.1 -m "Created directory structure" serbert serbert
>> start
>>
>> This gives me:
>>
>> cvs server: cannot make path to /cvs/serbert: Permission denied
>>
>> I've tried it without the -b option, and with and without anything in the
>> local directory. I can create the directory in the repository manually
>> (which I then delete manually), so I know my permissions are correct.
>>
>> The only other thing that I can think of that could affect it, is I have
>> created an empty readers file, and a writers file, with my username in,
>> but surely this must be OK, as I can checkout and commit files under
>> CVSROOT.
On Tuesday 17 February 2004 8:34 pm Greg Larkin wrote:
> Another useful diagnostic tool for problems like these on Linux is the
> "strace" program. You can attach to a daemon process and then look at
> the output to find out why the permissions problem is occurring. A
> typical command line might look like this (assuming you are running
> CVS pserver via xinetd):
>
> strace -ff -v -s 256 -o/tmp/cvs.out -p &
>
> Next, run the import command and then kill the strace process. You
> should be left with a bunch of files named /tmp/cvs.out.?????, one for
> each process that was spawned by xinetd. By scanning through the
> output, you should be able to tell what user id the CVS process is
> running as and why the permissions problem is occurring.
Thanks for that.
It was while I was while I was looking through the strace output I realised
what I was doing wrong. I was mistakenly expecting the new directory to
appear under CVSROOT, which of course it doesn't. As my error message
originally stated, it is created, in my case, under /cvs. As I didn't want
a root file to be owned by anyone but root, I created a subdirectory,
chowned it to cvs (user and group), and Bobs your uncle, it all worked.
I should know better by now to skim over error messages
--
Dave Clarke