[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Locks on CVS
Re: Locks on CVS
08 Aug 2001 09:18:21 +0200
Gnus/5.0807 (Gnus v5.8.7) Emacs/20.4
gabriel rosenkoetter <address@hidden> writes:
> On Tue, Aug 07, 2001 at 12:51:51PM -0400, Derek R. Price wrote:
> > I'm not totally sure I understand what you're asking, but you might be
> > looking for the setgid bit. Something like, `find $CVSROOT -type d |xargs
> > chmod g+s' should do the trick.
> > Use at your own risk and all that. Reading the fine man pages on chmod (re,
> > in particular, setgid) might help too.
> I'm not sure this will actually fix anything under Linux, as I don't
> recall whether or not it (well, actually ext2fs) actually Does the
> Right Thing wrt setgid bits on directories and file (re)creation.
> I have a sinking feeling it does not, though. Even if it does,
> isn't CVS doing something explicit here to change ownership if it
> changes merely by running cvs edit as a client?
You may be happy to know that the setgid bit on directories works
as espected (including inheriting the setgid bit to new directories)
at least with my old 2.2.12 kernel, using both ext2 on local disc and
nfs mounted disk with ext2 at the server end. I have no reason to
suspect problems with later versions of the kernel (the file server I
know for sure was updated long ago).
The best way to set up a system would actually be to have each user in
their own default group and a umask of 002 and then use the setgid bit
for precisely this purpose (keeping something writable for a group of
If there is something else about the setgid bit that does not work,
you had better be more specific so that other people can try it for
themselves and see if the problem affects them (and perhaps talk to
people doing kernel or file system development),
The original problem might very well be that of a faulty umask policy,
there are several ways to work around this but if you use chmod then
do not forget that the numerical value for drwxrwsr-x (directory,
group/user read write execute, world read execute) is 2775, not 775.
And files in the repository of course are 444.
Setting the CVSUMASK variable might work as well.
Enough of my silly rantings: Have a look at
and see what it says.