From owner-cvs-all Wed Dec 2 18:36:16 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id SAA12981 for cvs-all-outgoing; Wed, 2 Dec 1998 18:36:16 -0800 (PST) (envelope-from owner-cvs-all@FreeBSD.ORG) Received: from apollo.backplane.com (apollo.backplane.com [209.157.86.2]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id SAA12974; Wed, 2 Dec 1998 18:36:15 -0800 (PST) (envelope-from dillon@apollo.backplane.com) Received: (from dillon@localhost) by apollo.backplane.com (8.9.1/8.9.1) id SAA20656; Wed, 2 Dec 1998 18:36:03 -0800 (PST) (envelope-from dillon) Date: Wed, 2 Dec 1998 18:36:03 -0800 (PST) From: Matthew Dillon Message-Id: <199812030236.SAA20656@apollo.backplane.com> To: Joseph Koshy Cc: Nate Williams , cvs-committers@FreeBSD.ORG Subject: Re: proposal: simple cvs mod to handle shared checked-out source trees References: <199812030154.RAA08114@hub.freebsd.org> Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk :> > configuration files. If I replace /usr/bin/cvs with a wrapper I screw :> > up some of the traditional source projects (where we don't want relaxed :> > group perms). : :> Ok, write a wrapper that checks for -g, and then have it relax the :> permissions. : :With a umask of 00x, you can't prevent users from stomping on each others :work, without commit log traces / source change history etc. If this is :acceptable then why not have one copy of the checked out tree chmod'ed 77x :and let everyone loose on it? Why use a source control system in the first :place? We do have one copy off the checked out tree chmod'd 77x, but it is not possible for users to cvs commit / checkout on the common tree unless the umask is also 00x because if it isn't, CVS will change perms on certain CVS control files in the checked out TREE CVS/ directories that prevent other users from being able to operate on the same tree. This way we not only have one copy of the checked out tree, but cvs commits also properly log which staff member modified the file last presuming that the staff member cvs commits the file after he has edited it. This method is much more desireable then the RCS mess we were using before. Without the hack, CVS can't quite do it. It comes close, but it doesn't quite get there. Remember, we are not talking about a traditional source archive here. It is not desireable to duplicate the checked out tree for each staff member for many reasons, including the fact that the checked out tree represents active system control files (such as DNS zones and router config files). A separate copy makes the job of adjusting the control files too complex... the staff member would have to checkout the file into his own private tree, edit it, commit it back, and then cvs update the system 'active' checked-out tree. I see no other way to allow multiple members to operate on a common CVS-backed working set. :> Again, this is a very site-specific change that shouldn't go into :> FreeBSD, IMO. : :Agreed. I do not think it is a very site-specific change at all. How so? I outlined a nicely generalized and wide-ranging problem and solved it with the addition of a simple option. I think it solves the generalized problem quite neatly.... the problem of wanting to maintain a commmon set of files and yet also keep an audit trail of who modified what in an active system environment. -Matt : :Koshy : : : Matthew Dillon Engineering, HiWay Technologies, Inc. & BEST Internet Communications & God knows what else. (Please include original email in any response) To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message