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.
CVS will do everything you are talking about but I think your current process might be causing some real scheduling headaches. > This production tag points to the latest > revision of each file in our system. Then later: > As developers do not always want to pick > up non-production code It sounds like you are only allowing a single code line and for this to work developers must be holding onto changes locally for what could be long periods as it stabilizes, tests, passes code reviews and whatever else to become stable and ready for production. How do you do integration testing? Essentially you are only allowing production code into the repository somehow... While this could certainly work depending on your communication styles CVS provides branches and merges to deal with instability and selected fixes to in-field code. I would recommend reading the branching and merging portions of http://cvsbook.red-bean.com/ and the CVSNT manual http://www.cvsnt.org/manual/ for more background on how CVS can help you manage releases and patches. In short, you can tag individual files for patches, you can tag entire trees for releases and you can use merges to avoid stickiness when a developer ahead of the tree on unstable code needs to pick up something that just went into "production" underneath them. There is no way to bring unstable code somebody else is working on into your code without them first committing it to the repository. --Aric Aric Czarnowski Unimax Systems Corporation 612-204-3634 -----Original Message----- From: cvsnt-bounces at cvsnt.org [mailto:cvsnt-bounces at cvsnt.org]On Behalf Of P. Dwayne Miller Subject: [cvsnt] Usage question Our shop develops web applications. We have approximately 20 developers. We normally release/install only updated files and have a growing number of web sites/portals that use the same code. Or process goes something like this... Developer updates several files to implement a change. These files are tagged with a release tag. A package is built using files with this tag. Once that package is released/installed, then each of the files with that release tag are tagged with a production tag. This production tag points to the latest revision of each file in our system. We use the production tag to build a package to build a web site from scratch (new install). As code is released, we would like each of the developers to be able to update their development environments with the latest, production code. Some of the code that was just released may already be undergoing revision by another developer for another change request. As developers do not always want to pick up non-production code (they are not working in it, but need the code for their development environment to work), we need to know how to bring a development environment up-to-date with the latest production tag, hopefully without setting a sticky tag, and also without destroying any work in progress. Any suggestions? Tks, Dwayne