We use Team Foundation Server with Team Foundation Version Control (not GIT). To support a release we created two branches called CurrentVersion and 5.0.2. Where CurrentVersion is our “development” branch for new features and 5.0.2 is our “master” branch used for building and supporting a release.
When a bug is reported on the released version we fix it and merge the changes to the other branch. This merging is easier then we expected.
Merge changeset wizard
In these steps I merge a change from the CurrentVersion to the 5.0.2 branch. This happens when a bug is found and fixed in development and needs to go to production.
- Open source control explorer
- Select the source branch and in the context menu > branching and merging > merge…
- Check the option selected changesets and click Next
- Select the changeset(s)* and click Next
* multi select is allowed when changes don’t conflict
- Click Finish
The result is that the changes from the changeset are staged. (pending changes) Build the code to confirm it’s working and commit the changes with Check In. Now start the release build process.
Track changeset visualization
Nice feature in TFS is the Track Changeset that shows the different branches the changeset has been applied to. Below are the Hierarchy Tracking view and the Timeline Tracking view of the merged changeset.
The green color means applied, the blue means not applied.