Here's our basic process, just for the sake of discussion.

We have a core product which is extremely large (several thousand source
code files), and our development cycle for features tends to be on the long
side - weeks to months.

We do also have to deal with small bug fixes and enhancement requests as
well.

Our basic repository layout is:

Trunk - day to day development

Development branches - development of features that are especially large,
and/or might disrupt other work in the trunk

Tags - Release versions of the app.

QA branch. This is sort of a transition branch for large feature releases.

For day to day bug fixes and enhancement requests, we work against the
current tag release, and merge them back to the trunk. This is largely due
to the length of our usual development cycle, where the trunk and release
can get so far out of sync that it gets hairy to do small incremental
changes in the trunk and push them out with confidence.

For releasing larger features, we use the QA branch. We don't worry about
any historical state on the QA branch. We simply blow it away each time with
a fresh copy from the current release, and then merge the new features in
from the trunk. Once we've done testing and QA on it, we tag it and move on.

It's not the "right" way for everyone, but works well for our development
cycle.


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
Upgrade to Adobe ColdFusion MX7
The most significant release in over 10 years. Upgrade & see new features.
http://www.adobe.com/products/coldfusion?sdid=RVJR

Archive: 
http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:278154
Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm
Unsubscribe: 
http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4

Reply via email to