I'm stubborn or stupid (and that's not xor) (Was: CVS Import Permissions)

Duane duane at greenmeadow.ca
Mon Jan 30 20:45:05 PST 2006

david bryce wrote:

>>n 2006-01-30 15:52, david bryce <davidbryce at fastmail.fm> wrote:
>>>Hi All,
>>>I am having some confusion regarding the way CVS works with permissions
>>>under unix when importing a new project. Currently, when I import a
>>>project, I get this sort of permissions on the project directory:
>>>drwxr-x---  2 jim   cvs   512 Jan 27 12:31 test_proj
>>>Notice that the group (cvs) is not granted write access. Is this the
>>>way it's supposed to work?
>>That depends on what your `umask' currently is.
>>>Do I have to use chmod to grant write access to the group every time I
>>>do an import?
>>No.  The correct way to fix this is to set CVSUMASK in your shell
>>environment, and then import the files :)
>Thanks very much for replying! I wasn't aware of this 
>environment variable (even though I spent quite a while on
>this problem). Using CVSUMASK certainly works when working 
>on the server machine!
>However, I'm not sure what to do in client/server 
>situations. The CVS manual states:
>"Note that using the client/server CVS (see section Remote 
>repositories), there is no good way to set CVSUMASK; the 
>setting on the client machine has no effect."
>We are currently using a pserver installation, with 
>developers using windows machines. We need a way to achieve
>the same effect with a user on a windows machine doing an
>import. Do you have any idea how this can be done? Thank 
Hi everyone,

On the CVS server machine should our CVS repository directory belong to 
the cvs group, i.e. user==root, group==cvs?

And as for the umask, as it appears to be 027, if we give the cvs group 
write permission on /usr/local/cvsrep
then when we import our projects they will be writeable by members of 
group cvs and the owner of the project, in this case jim.  CVS gives all 
the source files under test_proj permissions -r--r--r-- regardless of 
the umask.

So since this is an existing repository maybe there is extra work.  What 
is the biggest factor, the number of distinct projects in the 
repository?  But as a start why not do a chgrp cvs cvsrep; chmod g+w 
cvsrep.  In a new repository this would make sure all permissions 
started off correctly.  Unfortunately real life is never that simple.  
Is this not how CVS would like it?

I apologize if I am being all the things suggested in my subject 
heading.  I've posted these opinions a couple of times without 
response.  Perhaps they are inappropriate to the list or irrelevant to 
David's situation, or maybe just wrong?  I'll let it drop after this.  I 
certainly don't mean to muddy the waters but to me this is what this 
list is all about and I believe this issue goes to the heart of UN*X 


--Duane Whitty

More information about the freebsd-questions mailing list