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

Advanced Plan, Why FI from Main to Servicing?

Sep 3, 2013 at 2:58 AM
Just when I thought I understood the advanced branching plan I noticed that there is an FI from Main to Servicing in Figure 3 (v2.1 - Visual Studio 2012).

My understanding is that Servicing represents the release tree for release 1 in this example. Why would changes from Dev and Main make it into Servicing for release in hotfix r1 sp1? Features from version 2 may be being implemented in Main.

It seems more reasonable to RI up to Main just before the branch to hotfix r1 sp1.

Your help is appreciated
Oct 1, 2013 at 3:42 AM
Your understanding is correct. Once a servicing branch in the release tree is created, you should never FI from Main into the servicing branch for precisely the reasons you specify. You should never do a forward integration from Dev or Main into a release branch. But you may do a Reverse Integration from a servicing branch back to Main (if you understand what you are doing).
I am not sure you want to RI up to Main just prior to the branch to hotfix R1 SP1. Wouldn't that branch also bring version 2 changes down?
Oct 1, 2013 at 10:46 PM
Thanks for the validation.

As for that last comment: If there were modifications to the servicing branch (e.g. Emergency Hotfix) it would make sense to RI from Servicing to Main. In the example (Figure 3) this is done on the hotfix r1 sp1 branch. I don't follow what you mean by "Wouldn't that branch also bring version 2 changes down?".

I was simply trying to understand why the diagram includes and FI from Main to Servicing. I was speculating that perhaps they meant for it to be an RI which is at least defensible.

Thanks again.
Oct 2, 2013 at 3:25 PM
@Wheys, makes me wonder if we should not be revising the diagram(s) accordingly for the update we are working on?
Oct 4, 2013 at 3:49 PM
@Wschaub - Yes, I think there are some glaring errors we should correct.
Oct 4, 2013 at 3:51 PM
There should NEVER be any FI from MAIN to any of the servicing branches after they are created, for precisely the reasons you suggest. I haven't had the time to create a detailed bug list for the team. I hope to get to this soon :)
Oct 5, 2013 at 2:14 PM
@Wheys, the sooner the better as we are in the midst of v3 content development, planning to complete the BETA by end-November :) We are working on four areas: Strategies, TFVC, NuGet and Git, which will be packaged in separate focused eBooks.