SlideShare une entreprise Scribd logo
1  sur  27
Branching
    in
 TFS 2010

 Part I
   by John Varan
Branching in TFS 2010: Part I

…you need to develop just the right
amount of fear of branching. This
delicate balance seems to be very
difficult to find. Most people either
have too much fear or not enough.”

                             ~Eric Sink
Branching in TFS 2010: Part I


                   Branching is like creating a
                   parallel universe.


• A branch is a child universe spawned off the main
  (parent) universe.

• The child universe evolves independently.

• Branching is for ISOLATION
Branching in TFS 2010: Part I




         A simple parent-child branch
Branching in TFS 2010: Part I
    Why do you need branching?
    Have you ever…

• needed a code freeze?
• wanted to know what code was included in a release?
• wanted to avoid releasing code that wasn’t ready?
• wanted to allow developers to have an experimental
  playground?
• found yourself putting everything on hold for refactoring?

    If you answered yes to any of these, you need branching!
Branching in TFS 2010: Part I
Some basic branching terminology:
• Main Branch – the primary branch that all changes are
  eventually merged into. Also known as the trunk or
  mainline branch.

• Development Branch – contains all active development.
  In many scenarios, it’s the same as the main branch.

• Release Branches – each release of a product should
  create a new branch, as a child of the main branch.
Branching in TFS 2010: Part I

• Forward Integration – the act of merging changes from a
  parent to a child branch.
Branching in TFS 2010: Part I

• Reverse Integration – the act of merging changes from a
  child to a parent branch.
Branching in TFS 2010: Part I

• Baseless Merge – the act of merging changes from one
  branch to another, where the two branches are not in a
  parent-child relationship.
Branching in TFS 2010: Part I



 Branching can be tricky, and it does
 require some skill.

 Discipline is the key!
Branching in TFS 2010: Part I
  Five Keys to Making Branching Successful

• Stick to correct process, even if it seems trivial.

• Avoid branches off other branches, if possible.

• Merge with Forward and Reverse Integration often.

• Do not confuse branching with shelving.

• Never have code freezes.
Branching in TFS 2010: Part I
         Seven Signs Something is Wrong
• Merging is put off to the end.

• Merging happens too often.

• Merging never happens.

• Purpose of a branch isn’t clear.

• You find yourself having to halt development efforts.

• Branches are used to isolate developers instead of code.

• A change is merged to an older release.
Branching in TFS 2010: Part I
           Branching Patterns


• There are 3 primary patterns.

• Each has several variations.

• Hybrid patterns are also possible.
Branching in TFS 2010: Part I
            Release Branching


• Two main variations: stairstep and
  mainline.

• Simplest pattern

• Least flexible
Branching in TFS 2010: Part I
          Stairstep Release Branching

•   Works on single release at a time.

•   New branch for each release.
Branching in TFS 2010: Part I
          Stairstep Release Branching

•   Requires least amount of branching

•   Not very flexible

•   Can require multiple test and build
    environments
Branching in TFS 2010: Part I
          Mainline Release Branching

•   One main branch continues indefinitely

•   Each release branches off of it
Branching in TFS 2010: Part I
          Mainline Release Branching

•   Supports concurrent release development

•   Complex

•   Can require multiple test environments
Branching in TFS 2010: Part I
               Quality Branching

•   Usually has 3 separate branches

•   Changes are “promoted” from one to the other
Branching in TFS 2010: Part I
               Quality Branching

•   More flexible

•   Complex

•   Can require a dedicated person to manage
    branching
Branching in TFS 2010: Part I
                Feature Branching

•   Separate branch for each major feature

•   Very flexible
Branching in TFS 2010: Part I
               Feature Branching

•   Most flexible

•   Complex

•   Can require separate test environment per
    feature (but there’s a workaround)
Branching in TFS 2010: Part I
              Agile Development

•   Shouldn’t make a difference whether you use
    Agile or not

•   But it does…

•   When do you run continuous builds?

•   Which branches cause continuous builds?
Branching in TFS 2010: Part I
               Agile Development

•   Feature branching (or a hybrid of it) is most
    suitable for Agile

•   Feature branch = story branch

•   Continuous build tied to main branch only, not
    to each feature branch
Branching in TFS 2010: Part I
                  Shared Code

How to handle shared libraries and code?

• Many ways to solve this problem

• Sharing the actual source isn’t ideal
  • Complicated
  • Problematic with automated builds
  • Inflexible
Branching in TFS 2010: Part I
                  Shared Code

Instead, share the compiled binary assembly.

• Shared library is a separate project

• Compiled assembly stored in TFS

• Versions of compiled assembly are branched into
  the “Lib” folder of a referencing project
Branching in TFS 2010: Part I
                    End of Part I

Part II: Our solution and how to configure and use it
in TFS.

Contenu connexe

Similaire à Branching in TFS 2010 Part I (Branching Theory)

10 clues showing that you are doing OSGi in the wrong manner - Jerome Moliere
10 clues showing that you are doing OSGi in the wrong manner - Jerome Moliere10 clues showing that you are doing OSGi in the wrong manner - Jerome Moliere
10 clues showing that you are doing OSGi in the wrong manner - Jerome Molieremfrancis
 
Git Branching – the battle of the ages
Git Branching – the battle of the agesGit Branching – the battle of the ages
Git Branching – the battle of the agesJasmin Fluri
 
Banching can change your life
Banching can change your lifeBanching can change your life
Banching can change your lifeVlad Vesa
 
Build software like a bag of marbles, not a castle of LEGO®
Build software like a bag of marbles, not a castle of LEGO®Build software like a bag of marbles, not a castle of LEGO®
Build software like a bag of marbles, not a castle of LEGO®Hannes Lowette
 
Entity Framework: To the Unit of Work Design Pattern and Beyond
Entity Framework: To the Unit of Work Design Pattern and BeyondEntity Framework: To the Unit of Work Design Pattern and Beyond
Entity Framework: To the Unit of Work Design Pattern and BeyondSteve Westgarth
 
TFS 2015 Upgrade Tips & Tricks
TFS 2015 Upgrade Tips & TricksTFS 2015 Upgrade Tips & Tricks
TFS 2015 Upgrade Tips & TricksInCycleSoftware
 
Tfs 2015 Upgrade Tips and Tricks
Tfs 2015 Upgrade Tips and TricksTfs 2015 Upgrade Tips and Tricks
Tfs 2015 Upgrade Tips and TricksInCycleSoftware
 
Clarive 7 Branching Model
Clarive 7 Branching ModelClarive 7 Branching Model
Clarive 7 Branching ModelClarive
 
Enhance Productivity using SharePoint
Enhance Productivity using SharePointEnhance Productivity using SharePoint
Enhance Productivity using SharePointMilton Goh
 
How to guarantee your change is integrated to Moodle core
How to guarantee your change is integrated to Moodle coreHow to guarantee your change is integrated to Moodle core
How to guarantee your change is integrated to Moodle coreDan Poltawski
 
50 Shades of Fail KScope16
50 Shades of Fail KScope1650 Shades of Fail KScope16
50 Shades of Fail KScope16Christian Berg
 
2018-09 - F# and Fable
2018-09 - F# and Fable2018-09 - F# and Fable
2018-09 - F# and FableEamonn Boyle
 
Branches are for Trees. How to develop software without them.
Branches are for Trees. How to develop software without them.Branches are for Trees. How to develop software without them.
Branches are for Trees. How to develop software without them.Thoughtworks
 
Do's and don'ts for Office 365 development
Do's and don'ts for Office 365 developmentDo's and don'ts for Office 365 development
Do's and don'ts for Office 365 developmentChris O'Brien
 
7 Fatal Mistakes Made When Migrating From SP 2007 to SP 2010
7 Fatal Mistakes Made When Migrating  From SP 2007 to SP 20107 Fatal Mistakes Made When Migrating  From SP 2007 to SP 2010
7 Fatal Mistakes Made When Migrating From SP 2007 to SP 2010Netwoven Inc.
 
Alm with tfs 2013
Alm with tfs 2013Alm with tfs 2013
Alm with tfs 2013MSDEVMTL
 
Introduction to the Managed Extensibility Framework in Silverlight
Introduction to the Managed Extensibility Framework in SilverlightIntroduction to the Managed Extensibility Framework in Silverlight
Introduction to the Managed Extensibility Framework in SilverlightJeremy Likness
 

Similaire à Branching in TFS 2010 Part I (Branching Theory) (20)

10 clues showing that you are doing OSGi in the wrong manner - Jerome Moliere
10 clues showing that you are doing OSGi in the wrong manner - Jerome Moliere10 clues showing that you are doing OSGi in the wrong manner - Jerome Moliere
10 clues showing that you are doing OSGi in the wrong manner - Jerome Moliere
 
Git Branching – the battle of the ages
Git Branching – the battle of the agesGit Branching – the battle of the ages
Git Branching – the battle of the ages
 
Banching can change your life
Banching can change your lifeBanching can change your life
Banching can change your life
 
Build software like a bag of marbles, not a castle of LEGO®
Build software like a bag of marbles, not a castle of LEGO®Build software like a bag of marbles, not a castle of LEGO®
Build software like a bag of marbles, not a castle of LEGO®
 
Entity Framework: To the Unit of Work Design Pattern and Beyond
Entity Framework: To the Unit of Work Design Pattern and BeyondEntity Framework: To the Unit of Work Design Pattern and Beyond
Entity Framework: To the Unit of Work Design Pattern and Beyond
 
Basic Git Intro
Basic Git IntroBasic Git Intro
Basic Git Intro
 
TFS 2015 Upgrade Tips & Tricks
TFS 2015 Upgrade Tips & TricksTFS 2015 Upgrade Tips & Tricks
TFS 2015 Upgrade Tips & Tricks
 
Tfs 2015 Upgrade Tips and Tricks
Tfs 2015 Upgrade Tips and TricksTfs 2015 Upgrade Tips and Tricks
Tfs 2015 Upgrade Tips and Tricks
 
Clarive 7 Branching Model
Clarive 7 Branching ModelClarive 7 Branching Model
Clarive 7 Branching Model
 
Enhance Productivity using SharePoint
Enhance Productivity using SharePointEnhance Productivity using SharePoint
Enhance Productivity using SharePoint
 
Git workflows
Git workflowsGit workflows
Git workflows
 
How to guarantee your change is integrated to Moodle core
How to guarantee your change is integrated to Moodle coreHow to guarantee your change is integrated to Moodle core
How to guarantee your change is integrated to Moodle core
 
50 Shades of Fail KScope16
50 Shades of Fail KScope1650 Shades of Fail KScope16
50 Shades of Fail KScope16
 
2018-09 - F# and Fable
2018-09 - F# and Fable2018-09 - F# and Fable
2018-09 - F# and Fable
 
Branches are for Trees. How to develop software without them.
Branches are for Trees. How to develop software without them.Branches are for Trees. How to develop software without them.
Branches are for Trees. How to develop software without them.
 
Ee
EeEe
Ee
 
Do's and don'ts for Office 365 development
Do's and don'ts for Office 365 developmentDo's and don'ts for Office 365 development
Do's and don'ts for Office 365 development
 
7 Fatal Mistakes Made When Migrating From SP 2007 to SP 2010
7 Fatal Mistakes Made When Migrating  From SP 2007 to SP 20107 Fatal Mistakes Made When Migrating  From SP 2007 to SP 2010
7 Fatal Mistakes Made When Migrating From SP 2007 to SP 2010
 
Alm with tfs 2013
Alm with tfs 2013Alm with tfs 2013
Alm with tfs 2013
 
Introduction to the Managed Extensibility Framework in Silverlight
Introduction to the Managed Extensibility Framework in SilverlightIntroduction to the Managed Extensibility Framework in Silverlight
Introduction to the Managed Extensibility Framework in Silverlight
 

Dernier

The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 

Dernier (20)

DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 

Branching in TFS 2010 Part I (Branching Theory)

  • 1. Branching in TFS 2010 Part I by John Varan
  • 2. Branching in TFS 2010: Part I …you need to develop just the right amount of fear of branching. This delicate balance seems to be very difficult to find. Most people either have too much fear or not enough.” ~Eric Sink
  • 3. Branching in TFS 2010: Part I Branching is like creating a parallel universe. • A branch is a child universe spawned off the main (parent) universe. • The child universe evolves independently. • Branching is for ISOLATION
  • 4. Branching in TFS 2010: Part I A simple parent-child branch
  • 5. Branching in TFS 2010: Part I Why do you need branching? Have you ever… • needed a code freeze? • wanted to know what code was included in a release? • wanted to avoid releasing code that wasn’t ready? • wanted to allow developers to have an experimental playground? • found yourself putting everything on hold for refactoring? If you answered yes to any of these, you need branching!
  • 6. Branching in TFS 2010: Part I Some basic branching terminology: • Main Branch – the primary branch that all changes are eventually merged into. Also known as the trunk or mainline branch. • Development Branch – contains all active development. In many scenarios, it’s the same as the main branch. • Release Branches – each release of a product should create a new branch, as a child of the main branch.
  • 7. Branching in TFS 2010: Part I • Forward Integration – the act of merging changes from a parent to a child branch.
  • 8. Branching in TFS 2010: Part I • Reverse Integration – the act of merging changes from a child to a parent branch.
  • 9. Branching in TFS 2010: Part I • Baseless Merge – the act of merging changes from one branch to another, where the two branches are not in a parent-child relationship.
  • 10. Branching in TFS 2010: Part I Branching can be tricky, and it does require some skill. Discipline is the key!
  • 11. Branching in TFS 2010: Part I Five Keys to Making Branching Successful • Stick to correct process, even if it seems trivial. • Avoid branches off other branches, if possible. • Merge with Forward and Reverse Integration often. • Do not confuse branching with shelving. • Never have code freezes.
  • 12. Branching in TFS 2010: Part I Seven Signs Something is Wrong • Merging is put off to the end. • Merging happens too often. • Merging never happens. • Purpose of a branch isn’t clear. • You find yourself having to halt development efforts. • Branches are used to isolate developers instead of code. • A change is merged to an older release.
  • 13. Branching in TFS 2010: Part I Branching Patterns • There are 3 primary patterns. • Each has several variations. • Hybrid patterns are also possible.
  • 14. Branching in TFS 2010: Part I Release Branching • Two main variations: stairstep and mainline. • Simplest pattern • Least flexible
  • 15. Branching in TFS 2010: Part I Stairstep Release Branching • Works on single release at a time. • New branch for each release.
  • 16. Branching in TFS 2010: Part I Stairstep Release Branching • Requires least amount of branching • Not very flexible • Can require multiple test and build environments
  • 17. Branching in TFS 2010: Part I Mainline Release Branching • One main branch continues indefinitely • Each release branches off of it
  • 18. Branching in TFS 2010: Part I Mainline Release Branching • Supports concurrent release development • Complex • Can require multiple test environments
  • 19. Branching in TFS 2010: Part I Quality Branching • Usually has 3 separate branches • Changes are “promoted” from one to the other
  • 20. Branching in TFS 2010: Part I Quality Branching • More flexible • Complex • Can require a dedicated person to manage branching
  • 21. Branching in TFS 2010: Part I Feature Branching • Separate branch for each major feature • Very flexible
  • 22. Branching in TFS 2010: Part I Feature Branching • Most flexible • Complex • Can require separate test environment per feature (but there’s a workaround)
  • 23. Branching in TFS 2010: Part I Agile Development • Shouldn’t make a difference whether you use Agile or not • But it does… • When do you run continuous builds? • Which branches cause continuous builds?
  • 24. Branching in TFS 2010: Part I Agile Development • Feature branching (or a hybrid of it) is most suitable for Agile • Feature branch = story branch • Continuous build tied to main branch only, not to each feature branch
  • 25. Branching in TFS 2010: Part I Shared Code How to handle shared libraries and code? • Many ways to solve this problem • Sharing the actual source isn’t ideal • Complicated • Problematic with automated builds • Inflexible
  • 26. Branching in TFS 2010: Part I Shared Code Instead, share the compiled binary assembly. • Shared library is a separate project • Compiled assembly stored in TFS • Versions of compiled assembly are branched into the “Lib” folder of a referencing project
  • 27. Branching in TFS 2010: Part I End of Part I Part II: Our solution and how to configure and use it in TFS.