introduction to source control management with tfs
DESCRIPTION
In this session we’ll discuss the basics of source control including etiquette, best practices and how to use TFS source control to manage projects of varying complexity. This will be an interactive session, so please create a personal TFS project via Visual Studio Online and make sure you are able to connect to it with the laptop you bring to the session. You’re welcome to join us without prior setup but you’ll get more from the hands on experience! http://www.visualstudio.com/products/visual-studio-online-overview-vs#TRANSCRIPT
INTRODUCTION TO SCM WITH TFSTHE ROAD TO AS-NEEDED BRANCHING
AGENDA• What you should already know
• Fundamentals
• When should we branch?
• Branching plans
• From theory to TFS
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!
BUT I DON’T MANAGE TFS!
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.
FUNDAMENTALS
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)
INTEGRATION• Forward Integration
• Merges from parent to child branches.
• Reverse Integration• Merges from child to parent branches.
WHEN SHOULD WE BRANCH?
No Branch Plan
V2.0V1.0 V1.1
Branch Post 1
release
bug
reported
CI CI CI
bug fix
?
merge how with what?
6
Branch Post 2
release
bug
reported
CI CI CI
CI
bug fix
RI
FI
Release Branching - Standard
B FI
RI
FI
RI
FI
RI
B
B
RI
RI
FI
Emergency
Hotfix
B
B
FI
RI
B
Branching is “easy”
B
RI
RI
RI
BRANCH TYPES• Basic
• Standard
• Advanced
• Code Promotion
• Branch by Feature
BASIC BRANCH PLAN
STANDARD BRANCH PLAN
ADVANCED BRANCH PLAN
CODE PROMOTION BRANCH PLAN
BRANCH BY FEATURE BRANCH PLAN
EXERCISE: WHAT’S THE STRATEGY?• Citizens (PaymentProcessing)
• OilfieldInstrumentation (EMS4, IADC)
• Extra Credit: Davinci.Montana
FROM THEORY TO TFS• Citizens (PaymentProcessing)
• OilfieldInstrumentation (EMS4, IADC)
• Extra Credit: Davinci.Montana
SUPER FUN HANDS ON TIME!
ALM RANGERShttp://blogs.msdn.com/b/willy-peter_schaub/archive/2012/03/31/understanding-the-visual-studio-alm-rangers.aspx
http://vsarbranchingguide.codeplex.com/