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

