This is a pretty wide-open question, but I'll relate my experience:
I worked for a dotcom that used CVS, with virtually all of our code being perl and SYBASE-stored procedure source.
We had about 8 developers -- 3 on the Sybase side, 5 on the perl side. We also had multiple boxes (prod/test/dev).
On the dev box -- Each of the 5 perl developers had 2 webroots (Apache -- http/https) spawned to their ~ dir, each mapped two diffent ports (Mine was 7001 for http, 7002 for https). All development/unit testing was done in each developer's home directory.
Our repository, IIRC, looked like this, using
Module in the cvs context, not CPAN! :)
Module:cgi
Module:js
Module:sql
Module:site_perl
Our site_perl CVS-Module did
NOT contain CPAN modules, only our common scripts and proprietary modules.
The dev. box main webroot (eg http://dev) was owned by
webuser, and we did not have access to it. After a commit, the SR developer, who futher tested the code, would
su webuser, and copy the code to appropriate spot in the http://dev directory.
As far as general advice: CVS Keywords are your friend. We used $Author$, $Date$, and $ID$ -- and this saved a lot of arguements along the lines of "Who in the @#$^! committed this crap, and when the @#$% did they do it???"
A good book, IMHO, on Open-Source development with CVS is Karl Fogel's.
HTH!!
ÅßÅ×ÅßÅ
"It is a very mixed blessing to be brought back from the dead." -- Kurt Vonnegut
|