info-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: multiple developers sharing one working directory


From: Noel Yap
Subject: Re: multiple developers sharing one working directory
Date: Thu, 6 Jun 2002 06:49:45 -0700 (PDT)

--- Judy Pearson <address@hidden>
wrote:
> 
> Unix cvs server (cvs 1.11.1p1) with the pserver
> access method
> Unix (cvs 1.11.1p1) and WinCVS 1.2 clients.

Why not use normal Unix logins?

> Our shop is in the process of moving from VSS to cvs
> (yay!). I have a set of Java/jsp programmers who
> share development in one
> working directory. (They will not be convinced that
> sharing a directory isn't a good idea.)

They may be convinced once they start trying to do it.
 OTOH, they may be convinced that CVS sucks :-(

> In VSS, these developers are able to lock/edit
> individual files in the shared directory and have
> their names associated with the
> edit/commit/etc.
> 
> In cvs, the CVS/Root file is blocking a similar type
> of programmer/file access. The name of whoever
> checked out the module is saved
> in CVS/Root and used for subsequent cvs operations
> on the directory. I have seen that removing the Root
> file causes the $CVSROOT
> environment variable to be used. If there are no
> negative side-effects of removing CVS/Root from
> these common work areas, it would
> allow the developers to distinguish themselves in
> their file access. (I know we'd have some annoying
> write permissions problems to
> get around, but that's not a big concern to the
> developers.)

The "-d" option to cvs overrides the CVS/Root (and may
actually change it).  You might try having each
developer put "cvs -d address@hidden:/repo/directory"
(or even "cvs $CVSROOT") in their ~/.cvsrc files.

> Assuming $CVSROOT is set properly, what is the
> effect of removing the CVS/Root file from a working
> directory?

Unknown.  Try it out in a safe spot.  OTOH, even if it
works OK, it may not be guaranteed to work in the
future.

> I do not anticipate any of these development efforts
> using two different repositories, so we would not
> face the bother of needing to
> have the CVSROOT change from one directory to
> another.
> 
> I haven't seen any negative effects of this in my
> testing, but I also have not been successful at
> finding information on this in web
> searches. I looked through the source code and it
> looks like this should work fine. There is actually
> a comment in root.c stating
> that
>      * It is possible that not all repositories will
> have a CVS/Root
>      * file. This is ok, but the user will need to
> specify -d
>      * /path/name or have the environment variable
> CVSROOT set in
>      * order to continue.  */

According to this, the .cvsrc thing should work.  If
it doesn't, you can always wrap cvs with a script like
"cvs -d $CVSROOT $*" (in sh syntax).

> Of course, any recommendations of other ways to
> address this issue are welcome.
> 
> Thanks in advance for your time.

If developers work in the same working environment,
they chance breaking each others' work (eg broken
build or HTML link).  IMHO, it is extremely
undesirable to have developers working in the same
working directory no matter what source control tool
is being used.  It is much safer for developers to
have their own working directories, web/app servers,
databases, and other resources.

If they want to retrieve checked in versions, they can
do a "cvs up" at their own discretion (eg when they
know their stuff is working well).

Noel

__________________________________________________
Do You Yahoo!?
Yahoo! - Official partner of 2002 FIFA World Cup
http://fifaworldcup.yahoo.com



reply via email to

[Prev in Thread] Current Thread [Next in Thread]