tags:

views:

452

answers:

1

Hi,

At the moment I have a project sitting inside of TFS 2010 with a Development and Main branch. There is also a Build Definition that that is labelled "$(BuildDefinitionName)_1.0.yyyymm...", etc, etc, that will build Main as v1.0.

When I come to release v1.0 I plan on creating a v1.0 branch from Main and then Main will accept changes from Development leading to v1.1, v1.2, etc.

My questions are:

1) If any bugs are found in v1.0 I assume I fix these in the v1.0 branch and then merge them back into Main?

2) As fixes are made to the v1.0 branch should the Build/Revision numbers increase?

3) Should I be creating a Build Definition for the Main branch and each of the Release branches that I create?

Thanks

Michael

A: 

Although I'm still using TFS2008 and a different branching and merging strategy (Branch per environment containing multiple apps that logically group together) I think my comments will still be valid.

  1. This depends on your preference, you can merge both ways if you wish, but fixing directly in the release branch will possibly make it easier to find. It would be prudent to push these to the other releases (either via a baseless merge directly between the releases or via the main branch).
  2. Yes they will for the builds themselves. In TFS2008 you have to manually setup the msbuild file to write the version back to the assemblies, but this may have changed in TFS2010. I've never needed to do this but it does look fairly simple.
  3. A build for your Main branch is a must to get quick feedback for you team. I would also set this to automatically deploy to a server so that you will save time there. As for the release branches, I would create one for each, but clean-up once that version is obsolete if you are getting too many. The time that it takes to create builds is so small in comparison to the time that you save.

One tip that saved me a lot of time is that you can copy-paste the workspaces between the builds. If you need to change a lot of the paths, just paste into notepad first and update there.

caveman_dick