Community technical support mailing list was retired 2010 and replaced with a professional technical support team. For assistance please contact: Pre-sales Technical support via email to sales@march-hare.com.
I'm trying to pull together a process for using CVSNT in our development group and everywhere I turn I keep running into problems. I've been struggling with this for a while now and it doesn't seem like it shouldn't be this hard, basically what I'm looking for is how people actually use CVSNT in a real world group of developers from a process perspective. I look around the web and I find lots of specific information on how CVS works, the command interface etc, or I find articles and posts on general best CM practices but the details of how to use the real tool to accomplish the best practice are always missing. So what I'm looking for is someone that can tell me how they do it or that can point me to some real world examples of how somebody does it and maybe discuss the details a little bit. I'm also looking for some input on how to use CVS to meet my top level basic requirements: 1. When developers submit finished work to the CM system they need to identify the changes made with some sort of label, tag, identifier, etc(lets call it a Task Label). Knowing the state of the entire build that the developer used to develop and test the work would be nice but is not mandatory. 2. Developers need to be able to base their work on some minimally tested build. And this can't be simply a nightly build of the development line tip, building and testing of the software requires too much time and limited resources to make this feasible, this sort of rules out the developers work on the tip of some branch and don't break the tip paradigm. 3. Developers need to be able to check in unfinished work to the CM system for safe keeping without adversely affecting other developers. 4. As developers work they need to be able to update their working environments to the latest tested build, without losing the information of what changes are specific to the task they are working on. 5. The release coordinator needs to be able to take a list of approved for promotion Tasks and create a new build (we call this a Release Candidate Build) which is a conglomeration of the previous build and the changes associated with the approved Tasks. The new build should then be appropriately labeled in the CM system for future retrieval for testing etc. CVSNT appears to be a great and very flexible tool, and it seems like it should be able to handle these requirements but I keep running into road blocks and I want to know if I'm approaching it the wrong way or expecting to much from it or... One of biggest problems I have is how to accomplish requirement 1 in CVS. Initially tags seem ideal but then not so much as they are geared more towards project wide application and not individual files. Branches for each task seem like a good fit except when you get into it you run into trouble with the second part of requirement 4, you end up with the potential of creating lots of extra revisions in files that aren't related to the Task, not to mention the shear number of tags required for a project of 8000 files. Discussion, questions and suggestions are very welcome. Thank you Matt S.