[thelist] Using CVS for team web dev

sbeam sbeam at onsetcorps.net
Wed Jan 26 08:20:55 CST 2005


On Wednesday 26 January 2005 01:42 am, Matt Warden wrote:
> Does anyone have experience with this? Am I missing something
> fundamental in my understanding of how CVS is supposed to work in a
> development process? Any help would be appreciated.

Yep you are trying to use it more like a FTP client. CVS - or any other 
version control system - is meant for each developer to have their own 
"working copy" of a repository. The line-by-line development is done in 
there, when a developer gets to a point where the new code seems to 
work, they do a commit. Other developers get those changes when they do 
an update. There should never be anything in the repository that is at 
that "hmm I wonder if this will work..." stage. Each commit should be a 
discrete, functional change to one or more files that does a particular 
thing (in an ideal world...). 

Usually you also have a Staging server that one of the lead devs 
manages, this is more similar to what you are talking about. Just 
another working copy really, but used for final unit tests/QA, client 
review and other sanity checks before anything is copied to the live 
server. 

Why do you say its "not very feasible to keep copies of this 
application, so we would be testing on the same copy" -- this is your 
fundamental problem, CVS can't really help you then - its all about the 
copies, thats the whole point! Admittedly, for web development it does 
get hairy sometimes when you need to replicate the whole environment 
for each developer (plus staging) - web server, database, 3rd-party 
libraries, filesystem stuff, etc... there are ways to do this though, 
using virtual hosts for instance. Some people like to all work out of 
the same working directory and just use CVS to migrate to staging, but 
this defeats 90% of the purpose IMHO (though if you have a really 
ultra-complex server environment, maybe you don't have a choice - could 
still try to find a way to separate working directories for each dev, 
and set it up so they share a common development/scratch DB, libs, 
etc.). 

And you say you only have 4 devs, that is nothing - if they are not used 
to CVS they will whine for a while, but the first time it saves their 
a$$ they will be kissing the ground you walk on.

enjoy!

http://www.durak.org/cvswebsites/howto-cvs/index.html
http://www.linuxdevcenter.com/pub/a/linux/2002/01/31/CVS.html
http://www.sklar.com/page/article/web-and-cvs
http://dev.info.cnt.org/cnt-web-server-manual/cvs-how-to
http://philip.greenspun.com/wtr/cvs.html


-- 

# S Beam - Web App Dev Servs
# http://www.onsetcorps.net/


More information about the thelist mailing list