My team has a dozen engineers, some of whom work on modules that will take 2-3 weeks to complete. 

Now we integrate each module to the main branch of CVS only after unit testing is completed. 

The problem with this is for a good 2-3 weeks the code sits only on an engineer's computer and is not under version control. 

The programming language used is C.

Is there any elegant way to manage non unit tested code under version control.

Thanks

James