I propose that the CVS repository be split into at least 3 sections.
Production - Only Release quality code goes here. Only an Administrator can commit to the Production branch. Typically a successfully tested Beta codebase is moved all at once to Production.
Beta - PreProduction environment of code that is being tested for next stable release. Developers would submit code to be added to this branch, and the code will be approved or rejected by an administrator.
Sandbox(s) - "In Development" quality code goes here. Developers can commit and add files.
There could be multiple Sandboxes to keep developers from messing up each other's code.
--
I haven't used CVS too much, but this is a general concept I've used in other companies for developing web applications. I'm sure this plan needs revising, so please comment.
