380 likes | 675 Views
DEV306. Branching and Merging for Parallel Development. Jeff Levinson (@tfsjeff) Senior ALM Consultant Northwest Cadence. Branching And Merging Agenda. What are we trying to solve? Basic branching patterns and scenarios Branch by Release Branch by Quality Branch by Feature
E N D
DEV306 Branching and Merging for Parallel Development Jeff Levinson (@tfsjeff) Senior ALM Consultant Northwest Cadence
Branching And MergingAgenda • What are we trying to solve? • Basic branching patterns and scenarios • Branch by Release • Branch by Quality • Branch by Feature • What to consider when deciding on a strategy
What problems does branching solve? • Release code when it is ready • Independent construction of features • Suspension of coding (code freeze) • Know what code is released
Branch By Release (Staircase) Production Test Development R1 Branch On Test R2 Branch On Test Branching / Merging point R3 Development LEGEND Test Production
Branch By Release (Staircase)Handling bugs Test Development Production R1 Forward Integrate as necessary Forward Integrate as necessary Branch On Test R2 Forward Integrate as necessary Branch On Test R3 Branching / Merging Point Branch On Test Development LEGEND Test R4 Production
Branch by Release (Mainline) R1.1 R1 FI for Release FI for Release Main FI for Release R2 FI for Release R2.1 Branching / Merging point Release Branch LEGEND Development
Branch by Release Demo
Branch by Quality Firm Prod Branch QA Branch Soft Dev Branching / Merging point LEGEND Branch
Branch by Quality (Safekeeping) R1 R3 R2 Prod (Safekeeping) Branch Branch Branch QA Branch Dev Branching / Merging point LEGEND Branch
Branch by Quality (Permanent Hotfix) Prod Branch QA Branch Branch Hotfix Dev Branching / Merging point LEGEND Branch
Bug Found In Test Prod Rx Branch Code under test L1 L1 L2 QA FI Branch RI Hot Fix Dev R1 R2 Branching / Merging point Multiple steps done as a single unit of work LEGEND Branching / Merging Point + Label X Bug found
When the rules don’t work – break them But understand why! Bug Found In ProductionFixed on QA Branch R1 Prod R1 Rollback to L2 Code under test Code under test Code under test Branch L2 L5 L1 L2 L3 L4 QA Branch Dev D1 D2 R3 R1 R2 Branching / Merging point Multiple steps done as a single unit of work LEGEND Branching / Merging Point + Label X Bug found
Bug Found In Production Fixed on release branch Fix the bug R1 Prod (Safekeeping) R2 RI Branch Branch Code under test Code under test QA Branch Dev R1 R2 R3 Branching / Merging point Multiple steps done as a single unit of work LEGEND Branching / Merging Point + Label X Bug found
Branch by Quality DEMO
Branch By Feature PROD QA DEV F1 F2 F3 Branching / Merging point Multiple steps done as a single unit of work LEGEND
Branch by Feature DEMO
Question & Answer Any scenarios you want to discuss?
For Reference Pros and Cons
Related Content • Breakout Sessions • DEV202: Team Foundation Server for Everyone • DEV310: Team Build 2010: From Build Definition to Custom Workflow Activities in 75 Minutes • DEV311: Deep Dive into Microsoft Visual Studio Team Foundation Server 2010 Reporting • DEV327: The Accidental Team Foundation Server Admin • Interactive Sessions • DEV271INT: Would You, Could You with TFS? • Hands-on Labs • DEV366HOL: Branching and Merging Visualization with Microsoft Visual Studio Team Foundation Server 2010 • DEV367HOL: Planning Your Projects with Microsoft Visual Studio Team Foundation Server 2010 • Find Me Later At… the Testing booth!
Required Slide Track PMs will supply the content for this slide, which will be inserted during the final scrub. Track Resources • Resource 1 • Resource 2 • Resource 3 • Resource 4
DEV Track Resources • http://www.microsoft.com/visualstudio • http://www.microsoft.com/visualstudio/en-us/lightswitch • http://www.microsoft.com/expression/ • http://blogs.msdn.com/b/somasegar/ • http://blogs.msdn.com/b/bharry/ • http://www.microsoft.com/sqlserver/en/us/default.aspx • http://www.facebook.com/visualstudio
Resources • Connect. Share. Discuss. http://northamerica.msteched.com Learning • Sessions On-Demand & Community • Microsoft Certification & Training Resources www.microsoft.com/teched www.microsoft.com/learning • Resources for IT Professionals • Resources for Developers http://microsoft.com/technet http://microsoft.com/msdn