Jul 5, 2012 at 10:17 PM
Edited Jul 5, 2012 at 10:34 PM
I am new to TFS and I have stepped into the position. I walked into an existing TFS branch structure as follows:
DEV-> QA -> UAT -> STAGE
We have continuous builds with the help of CC.net for all branches.
From my understanding this branch structure was conceived to prevent the release engineer from having to rebranch each release branch per release and instead all branches are continuous. Stage serves as both the
service branch and production branch in the traditional branch structure seen below. UAT is used for our user testing and QA is similar to the main branch in the traditional branch structure below.
I understand that the standard in the industry is the following to allow the use of multiple concurrent releases:
Dev <- Main -> Service Branch -> Release
But my question is if you utilize labels (in STAGE branch) with a continuous branch instead of branching per release does it save time from having to rebranch each release? I am finding that branching takes a fair
amount of time to setup and reconfigure CC.net. Or maybe I am doing something the long/hard way, which I would appreciate some advice on how to make branching per release faster.
What are the flaws with this approach and do they outweigh the benefit of not having to rebranch each time?
Any advice is appreciated. But again I am new so if I am missing some underlying basics please inform me. Thank you for your help.