![Page 1: Introduction to Source Control Management with TFS](https://reader031.vdocuments.us/reader031/viewer/2022013102/5494bdb9ac7959182e8b4c50/html5/thumbnails/1.jpg)
INTRODUCTION TO SCM WITH TFSTHE ROAD TO AS-NEEDED BRANCHING
![Page 2: Introduction to Source Control Management with TFS](https://reader031.vdocuments.us/reader031/viewer/2022013102/5494bdb9ac7959182e8b4c50/html5/thumbnails/2.jpg)
AGENDA• What you should already know
• Fundamentals
• When should we branch?
• Branching plans
• From theory to TFS
![Page 3: Introduction to Source Control Management with TFS](https://reader031.vdocuments.us/reader031/viewer/2022013102/5494bdb9ac7959182e8b4c50/html5/thumbnails/3.jpg)
WHAT YOU SHOULD ALREADY KNOW• How to check in code.
• How to break a build.
• How to check out code.
This presentation is about managing source control, not simply using source control!
![Page 4: Introduction to Source Control Management with TFS](https://reader031.vdocuments.us/reader031/viewer/2022013102/5494bdb9ac7959182e8b4c50/html5/thumbnails/4.jpg)
BUT I DON’T MANAGE TFS!
![Page 5: Introduction to Source Control Management with TFS](https://reader031.vdocuments.us/reader031/viewer/2022013102/5494bdb9ac7959182e8b4c50/html5/thumbnails/5.jpg)
WE NEED MORE CAPABLE FOLKS• It’s easier to manage source you’re familiar with.
• If you need someone else to do it for your project, there’s a
bottleneck.
• When the time comes and you need to lead a project, you
should be capable of handling the SCM with a little guidance.
![Page 6: Introduction to Source Control Management with TFS](https://reader031.vdocuments.us/reader031/viewer/2022013102/5494bdb9ac7959182e8b4c50/html5/thumbnails/6.jpg)
FUNDAMENTALS
![Page 7: Introduction to Source Control Management with TFS](https://reader031.vdocuments.us/reader031/viewer/2022013102/5494bdb9ac7959182e8b4c50/html5/thumbnails/7.jpg)
BRANCH TYPES• The MAIN Branch
• The “root” of the branches• Only one.
• Should not be the location for active development
• Should always build
• The DEV Branches• Branched from MAIN
• Can be for bugfixing, features, milestones etc.
• The RELEASE Branches• Branched from MAIN
• Can represent Release, Hotfixes, Service Packs (Release Vehicles)
![Page 8: Introduction to Source Control Management with TFS](https://reader031.vdocuments.us/reader031/viewer/2022013102/5494bdb9ac7959182e8b4c50/html5/thumbnails/8.jpg)
INTEGRATION• Forward Integration
• Merges from parent to child branches.
• Reverse Integration• Merges from child to parent branches.
![Page 9: Introduction to Source Control Management with TFS](https://reader031.vdocuments.us/reader031/viewer/2022013102/5494bdb9ac7959182e8b4c50/html5/thumbnails/9.jpg)
WHEN SHOULD WE BRANCH?
![Page 10: Introduction to Source Control Management with TFS](https://reader031.vdocuments.us/reader031/viewer/2022013102/5494bdb9ac7959182e8b4c50/html5/thumbnails/10.jpg)
No Branch Plan
V2.0V1.0 V1.1
![Page 11: Introduction to Source Control Management with TFS](https://reader031.vdocuments.us/reader031/viewer/2022013102/5494bdb9ac7959182e8b4c50/html5/thumbnails/11.jpg)
Branch Post 1
release
bug
reported
CI CI CI
bug fix
?
merge how with what?
6
![Page 12: Introduction to Source Control Management with TFS](https://reader031.vdocuments.us/reader031/viewer/2022013102/5494bdb9ac7959182e8b4c50/html5/thumbnails/12.jpg)
Branch Post 2
release
bug
reported
CI CI CI
CI
bug fix
RI
FI
![Page 13: Introduction to Source Control Management with TFS](https://reader031.vdocuments.us/reader031/viewer/2022013102/5494bdb9ac7959182e8b4c50/html5/thumbnails/13.jpg)
Release Branching - Standard
B FI
RI
FI
RI
FI
RI
B
B
RI
RI
FI
Emergency
Hotfix
B
B
FI
RI
B
![Page 14: Introduction to Source Control Management with TFS](https://reader031.vdocuments.us/reader031/viewer/2022013102/5494bdb9ac7959182e8b4c50/html5/thumbnails/14.jpg)
Branching is “easy”
B
RI
RI
RI
![Page 15: Introduction to Source Control Management with TFS](https://reader031.vdocuments.us/reader031/viewer/2022013102/5494bdb9ac7959182e8b4c50/html5/thumbnails/15.jpg)
BRANCH TYPES• Basic
• Standard
• Advanced
• Code Promotion
• Branch by Feature
![Page 16: Introduction to Source Control Management with TFS](https://reader031.vdocuments.us/reader031/viewer/2022013102/5494bdb9ac7959182e8b4c50/html5/thumbnails/16.jpg)
BASIC BRANCH PLAN
![Page 17: Introduction to Source Control Management with TFS](https://reader031.vdocuments.us/reader031/viewer/2022013102/5494bdb9ac7959182e8b4c50/html5/thumbnails/17.jpg)
STANDARD BRANCH PLAN
![Page 18: Introduction to Source Control Management with TFS](https://reader031.vdocuments.us/reader031/viewer/2022013102/5494bdb9ac7959182e8b4c50/html5/thumbnails/18.jpg)
ADVANCED BRANCH PLAN
![Page 19: Introduction to Source Control Management with TFS](https://reader031.vdocuments.us/reader031/viewer/2022013102/5494bdb9ac7959182e8b4c50/html5/thumbnails/19.jpg)
CODE PROMOTION BRANCH PLAN
![Page 20: Introduction to Source Control Management with TFS](https://reader031.vdocuments.us/reader031/viewer/2022013102/5494bdb9ac7959182e8b4c50/html5/thumbnails/20.jpg)
BRANCH BY FEATURE BRANCH PLAN
![Page 21: Introduction to Source Control Management with TFS](https://reader031.vdocuments.us/reader031/viewer/2022013102/5494bdb9ac7959182e8b4c50/html5/thumbnails/21.jpg)
EXERCISE: WHAT’S THE STRATEGY?• Citizens (PaymentProcessing)
• OilfieldInstrumentation (EMS4, IADC)
• Extra Credit: Davinci.Montana
![Page 22: Introduction to Source Control Management with TFS](https://reader031.vdocuments.us/reader031/viewer/2022013102/5494bdb9ac7959182e8b4c50/html5/thumbnails/22.jpg)
FROM THEORY TO TFS• Citizens (PaymentProcessing)
• OilfieldInstrumentation (EMS4, IADC)
• Extra Credit: Davinci.Montana
![Page 23: Introduction to Source Control Management with TFS](https://reader031.vdocuments.us/reader031/viewer/2022013102/5494bdb9ac7959182e8b4c50/html5/thumbnails/23.jpg)
SUPER FUN HANDS ON TIME!
![Page 24: Introduction to Source Control Management with TFS](https://reader031.vdocuments.us/reader031/viewer/2022013102/5494bdb9ac7959182e8b4c50/html5/thumbnails/24.jpg)
ALM RANGERShttp://blogs.msdn.com/b/willy-peter_schaub/archive/2012/03/31/understanding-the-visual-studio-alm-rangers.aspx
http://vsarbranchingguide.codeplex.com/