This project has moved and is read-only. For the latest updates, please go here.

Branching strategy for one release

May 13, 2014 at 10:01 PM
We have one stable release (v1.1) for a client and now we have to do a long dev cycle for a new version with a few new features (1.2). What strategy is recommended for this case ?
May 14, 2014 at 1:55 AM
Have you downloaded the "TFS Version Control Part 1 - Branching Strategies.pdf" and read it yet?
If not, I recommend it. It was recently updated, and I like it a lot. It continues to get better in every release. They recommend you start with the simplest branching strategy possible and evolve it as you go. That resonates with my experience. They choice depends on many factors such as
  1. How many developers do you have?
  2. How many separate development efforts are going on at once?
  3. How disciplined and experienced are your team (more discipline and experience means less likely to break the build, and less likely to delete labels).
  4. Do you need to be able to easily provide hot-fixes to the v1.1 while development of v 1.2 continues?
  5. Do you have regulatory compliance needs that require tight audit controls on source?
  6. Are you using gated check-ins to prevent garbage from reaching Main?
Those are just some of the many possible factors I consider.

But for your case, let's say you start with the Main Only strategy: tell me why you need a release branch if you can label Main at each release.
May 14, 2014 at 6:35 AM
Yes, I have read all documents, but I still need some direction. We have a 2-3 devs on the project, and we will have just one dev effort going at once. Team is relatively disciplined and we should apply hotfixes during dev process. For 5., we don't have strictly defined regulary compliance, and for 6. yes.
May 14, 2014 at 6:49 AM
I did give you direction. I suggested you Use the Main Only branching strategy, described on page 13 of the Branching Strategies.
Let me know how I might have worded it better to be more obvious.
As the documents suggest, try the simplest thing first. If it does not work, you will have the insight to adopt one of the more complex strategies.
May 14, 2014 at 9:40 AM
Everything is more than perfectly clear to me. Thank you for your time.