[cvsnt] Usage question
Czarnowski, Aric
aczarnowski at unimax.com
Fri Aug 6 17:37:39 BST 2004
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
More information about the cvsnt
mailing list