Solved

TFS 2010/2012 Branching Guidance

Posted on 2014-02-07
2
413 Views
Last Modified: 2014-02-10
Dear Experts,

I am searching for some guidance on how to set up branches in Team Foundation Server. We are using TFS 2010 at a customer site and the customer is planning on upgrading to TFS 2012 soon. The customer has nearly 120 independent applications. Each application
is independent and most of the applications are small utility type of applications. There is an ongoing effort to consolidate a few of these applications in order to improve re-usability. But each application supports one of the three major COTS products and so it
would be unlikely to reduce the the number of applications significantly.

I looked at the guidance provided on Codeplex (http://vsarbranchingguide.codeplex.com/).

Looks like it would be good to start with the simplest approach provided on Codeplex (Basic Single Branch Plan or Basic Dual Branch Plan). All the scenarios on Codeplex assume that the source control contains smaller number of products.

My concern is - I do not want to branch out each of these independent applications into three child branches - Main, Dev and Release. May be that's the right way but it just seems odd to have that many parallel branches (one of for each application) and have additional child branches (dev and release) for each application 'main' branch. Also, I have advised the customer is that they do not have to branch unless they need an isolated development area.

What kind of branching strategy do you recommend for this type of scenario (codebase with large number of independent applications)?

 Thanks for your help.
0
Comment
Question by:shekhar_shashi
2 Comments
 
LVL 23

Accepted Solution

by:
wdosanjos earned 500 total points
Comment Utility
It depends on the lifecycle of each of your applications.  If they evolve independently (different versions are released at different times), then it makes sense to have different branches for each application.  On the other side, if they evolve together (different versions are released at the same time), then it makes sense to have a single branching  (Main, Dev, and Release) for all applications.

Branching is all about managing/isolating change, if your customer has to maintain multiple versions concurrently (new development/testing, production code), then it makes sense to have multiple branches.  If not, then a simpler branching strategy will work.  Note, that these needs may evolve over time, and the branching strategy can/should be changed to accommodate them.

I hope this helps.
0
 
LVL 3

Author Comment

by:shekhar_shashi
Comment Utility
Great explanation. Thanks.
0

Featured Post

What Should I Do With This Threat Intelligence?

Are you wondering if you actually need threat intelligence? The answer is yes. We explain the basics for creating useful threat intelligence.

Join & Write a Comment

Introduction: Sometimes when I receive a call from my users to solve their problems it is very difficult for me to found their computer IP address. Even finding their computer Host to provide remote support can be a problem.  So I resorted to Goo…
Experts-Exchange users below are the steps you can follow to upgrade your Lync server to latest CU's or cumulative updates. Note: Perform it during non-production hours.   Step 1: Backup your lync and SQL server database. Follow below article: h…
This video gives you a great overview about bandwidth monitoring with SNMP and WMI with our network monitoring solution PRTG Network Monitor (https://www.paessler.com/prtg). If you're looking for how to monitor bandwidth using netflow or packet s…
This video shows how to remove a single email address from the Outlook 2010 Auto Suggestion memory. NOTE: For Outlook 2016 and 2013 perform the exact same steps. Open a new email: Click the New email button in Outlook. Start typing the address: …

743 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

14 Experts available now in Live!

Get 1:1 Help Now