branching and merging and bears, oh my!
TRANSCRIPT
![Page 1: Branching and Merging and Bears, Oh My!](https://reader034.vdocuments.us/reader034/viewer/2022042821/55d5432cbb61ebca2d8b46d9/html5/thumbnails/1.jpg)
Branching and Merging and Bears!
Imaginet and ALM… Efficiently Build Better Software
http://www.imaginet.com
![Page 2: Branching and Merging and Bears, Oh My!](https://reader034.vdocuments.us/reader034/viewer/2022042821/55d5432cbb61ebca2d8b46d9/html5/thumbnails/2.jpg)
Agenda
• Branching Overview • Branching Models • Creating and
Managing Branches • Branch Visualization • Branch History
![Page 3: Branching and Merging and Bears, Oh My!](https://reader034.vdocuments.us/reader034/viewer/2022042821/55d5432cbb61ebca2d8b46d9/html5/thumbnails/3.jpg)
What is a Branch?
• Copies – Separate copies of files – Independent evolution
• Branches
– Lightweight server copy – Changes tracked – Reconcile changes
– Purpose
• Multiple development efforts to the same sub-system • Separate teams or geographies • Separate releases or features • Exploratory development - keep or throw away
(Changes)
(Changes)
TRACK &
M
ERG
E (Changes)
(Changes)
???
Time
![Page 4: Branching and Merging and Bears, Oh My!](https://reader034.vdocuments.us/reader034/viewer/2022042821/55d5432cbb61ebca2d8b46d9/html5/thumbnails/4.jpg)
Agenda
• Branching Overview • Branching Models • Creating and
Managing Branches • Branch Visualization • Branch History
![Page 5: Branching and Merging and Bears, Oh My!](https://reader034.vdocuments.us/reader034/viewer/2022042821/55d5432cbb61ebca2d8b46d9/html5/thumbnails/5.jpg)
Common Branching Models
• Branch by: – Quality – Environment – Release – Team – Feature – Sprint
• Purpose:
![Page 6: Branching and Merging and Bears, Oh My!](https://reader034.vdocuments.us/reader034/viewer/2022042821/55d5432cbb61ebca2d8b46d9/html5/thumbnails/6.jpg)
Common Branching Models
• Branch by: – Quality – Environment – Release – Team – Feature – Sprint
• Purpose: Separate “high-churn” less tested
code from that which is more mature. (cont.)
Merge Changes
High Quality / Well Tested
Intermediate Level(s)
Merge Changes
Lower Quality / Less Tested
![Page 7: Branching and Merging and Bears, Oh My!](https://reader034.vdocuments.us/reader034/viewer/2022042821/55d5432cbb61ebca2d8b46d9/html5/thumbnails/7.jpg)
Common Branching Models
• Branch by: – Quality – Environment – Release – Team – Feature – Sprint
• Purpose: Frequently used to model
environments as “Promotion” groups.
“Promote” code between branches
Production Branch
Test / QA Branch
Primarily merge up
Development Branch
![Page 8: Branching and Merging and Bears, Oh My!](https://reader034.vdocuments.us/reader034/viewer/2022042821/55d5432cbb61ebca2d8b46d9/html5/thumbnails/8.jpg)
Common Branching Models
• Branch by: – Quality – Environment – Release – Team – Feature – Sprint
• Purpose: Used when teams need to
support multiple software versions concurrently.
V1.0
V2.0
V3.0
![Page 9: Branching and Merging and Bears, Oh My!](https://reader034.vdocuments.us/reader034/viewer/2022042821/55d5432cbb61ebca2d8b46d9/html5/thumbnails/9.jpg)
Common Branching Models
• Branch by: – Quality – Environment – Release – Team – Feature – Sprint
• Purpose: Allows separate teams or
geographies to share changes in a controlled fashion.
Team A
Team B
Main
![Page 10: Branching and Merging and Bears, Oh My!](https://reader034.vdocuments.us/reader034/viewer/2022042821/55d5432cbb61ebca2d8b46d9/html5/thumbnails/10.jpg)
Common Branching Models
• Branch by: – Quality – Environment – Release – Team – Feature – Sprint
• Purpose: Branches created to isolate
changes for a specific purpose; frequently short-lived.
Feature B Feature A
Main
![Page 11: Branching and Merging and Bears, Oh My!](https://reader034.vdocuments.us/reader034/viewer/2022042821/55d5432cbb61ebca2d8b46d9/html5/thumbnails/11.jpg)
Common Branching Models
• Branch by: – Quality – Environment – Release – Team – Feature – Sprint
• Purpose: Branches created to isolate
changes for a specific purpose; frequently short-lived.
Sprint A Sprint B
Main
![Page 12: Branching and Merging and Bears, Oh My!](https://reader034.vdocuments.us/reader034/viewer/2022042821/55d5432cbb61ebca2d8b46d9/html5/thumbnails/12.jpg)
Mix and Match as Appropriate
V1.0 Release
V3.0 Release
V1.0 Dev
V2.0 Dev
V2.0 Release
![Page 13: Branching and Merging and Bears, Oh My!](https://reader034.vdocuments.us/reader034/viewer/2022042821/55d5432cbb61ebca2d8b46d9/html5/thumbnails/13.jpg)
Branching Guidance
• Can cause complexity, so use with caution
– May use fewer branches or no branches – Couple with effective use of Labels and Shelvesets
• Branches vs. (branched) Folders
• Integrate in the ‘softest’ branch
– Includes Quality, Team, Sprint, and Feature
![Page 14: Branching and Merging and Bears, Oh My!](https://reader034.vdocuments.us/reader034/viewer/2022042821/55d5432cbb61ebca2d8b46d9/html5/thumbnails/14.jpg)
Agenda
• Branching Overview • Branching Models • Creating and
Managing Branches • Branch Visualization • Branch History
![Page 15: Branching and Merging and Bears, Oh My!](https://reader034.vdocuments.us/reader034/viewer/2022042821/55d5432cbb61ebca2d8b46d9/html5/thumbnails/15.jpg)
Branches in TFS 2012
• Three separate approaches: – Copies
• Not actually a branch • Generally discouraged
– Branched Folders
• Created with a branching relationship • Supports merges and tracking
– Branch
• As with branched folders but supports visualization
![Page 16: Branching and Merging and Bears, Oh My!](https://reader034.vdocuments.us/reader034/viewer/2022042821/55d5432cbb61ebca2d8b46d9/html5/thumbnails/16.jpg)
Creating Branches
• Option 1: Convert Folder to Branch
– Note: You cannot convert a folder to a branch if it either contains a branch or is contained by a branch.
• Option 2: Branch from an existing branch
• Option 3: Branch a file or folder – May be used to create a branched folder instead of a branch
(not recommended)
![Page 17: Branching and Merging and Bears, Oh My!](https://reader034.vdocuments.us/reader034/viewer/2022042821/55d5432cbb61ebca2d8b46d9/html5/thumbnails/17.jpg)
Managing Branching
• Develop an appropriate branching strategy
• May want to use labels instead of branches in some
cases
• More releases more branch complexity needed (service packs, hot fixes, etc.)
• Know when to add a new branch
![Page 18: Branching and Merging and Bears, Oh My!](https://reader034.vdocuments.us/reader034/viewer/2022042821/55d5432cbb61ebca2d8b46d9/html5/thumbnails/18.jpg)
Agenda
• Branching Overview • Branching Models • Creating and
Managing Branches • Branch Visualization • Branch History
![Page 19: Branching and Merging and Bears, Oh My!](https://reader034.vdocuments.us/reader034/viewer/2022042821/55d5432cbb61ebca2d8b46d9/html5/thumbnails/19.jpg)
Branch Visualization
![Page 20: Branching and Merging and Bears, Oh My!](https://reader034.vdocuments.us/reader034/viewer/2022042821/55d5432cbb61ebca2d8b46d9/html5/thumbnails/20.jpg)
Agenda
• Branching Overview • Branching Models • Creating and
Managing Branches • Branch Visualization • Branch History
![Page 21: Branching and Merging and Bears, Oh My!](https://reader034.vdocuments.us/reader034/viewer/2022042821/55d5432cbb61ebca2d8b46d9/html5/thumbnails/21.jpg)
Branch History
• Uses a timeline view to show Branch History
![Page 22: Branching and Merging and Bears, Oh My!](https://reader034.vdocuments.us/reader034/viewer/2022042821/55d5432cbb61ebca2d8b46d9/html5/thumbnails/22.jpg)
DEMONSTRATION
• Branching and Versioning
![Page 23: Branching and Merging and Bears, Oh My!](https://reader034.vdocuments.us/reader034/viewer/2022042821/55d5432cbb61ebca2d8b46d9/html5/thumbnails/23.jpg)
Summary
• Branching Overview
• Branching Models
• Creating and Managing Branches
• Branch Visualization
• Branch History
![Page 24: Branching and Merging and Bears, Oh My!](https://reader034.vdocuments.us/reader034/viewer/2022042821/55d5432cbb61ebca2d8b46d9/html5/thumbnails/24.jpg)
Want to know more...?
![Page 25: Branching and Merging and Bears, Oh My!](https://reader034.vdocuments.us/reader034/viewer/2022042821/55d5432cbb61ebca2d8b46d9/html5/thumbnails/25.jpg)
Imaginet’s New Visual Studio 2012 Website!
http://visualstudio.imaginet.com
Visit Imaginet’s new Visual Studio 2012 website, your one-stop hub for all your Visual Studio 2012 needs!
![Page 26: Branching and Merging and Bears, Oh My!](https://reader034.vdocuments.us/reader034/viewer/2022042821/55d5432cbb61ebca2d8b46d9/html5/thumbnails/26.jpg)
TFS / Visual Studio 2012
• Managing Test Labs Without the Headaches
• November 29 (1:00-2:30pm CT)
• Lean, Kanban, and TFS • December 3 (1:00-2:30pm CT)
• Approaches to Kanban with TFS • December 6 (1:00-2:30pm CT) • December 20 (1:00-2:30pm CT)
Upcoming Fall Workshops & Webcasts: • Streamline Your Testing with Visual
Studio 2012 Testing Tools • December 13 (1:00-2:30pm CT)
• Getting Started with Coded UI Testing: Building Your First Automated Test
• December 17 (1:00-2:30pm CT)
![Page 27: Branching and Merging and Bears, Oh My!](https://reader034.vdocuments.us/reader034/viewer/2022042821/55d5432cbb61ebca2d8b46d9/html5/thumbnails/27.jpg)
Email us at: [email protected]
ALM Planning & Implementation Services ALM Planning • ALM Assessment & Envisioning Workshops
(3 or 5 days) • VS & TFS Migration Planning Workshop
(5 days) • Microsoft Dev. Tools Deployment Planning
– TFS Deployment Planning (5 days) – Visual SourceSafe to TFS Migration Planning (3 Days) – Visual Studio Quality Tools Deployment Planning
(5 days)
TFS Adoption or Upgrade • TFS 2010 Adoption Quick Start
(5 or 10 days) • TFS 2012 Adoption Quick Start
(5 or 10 days) • TFS 2010 Upgrade Quick Start (10 days) • TFS 2012 Upgrade Quick Start (10 days) Remote Support • Remote Support for TFS & Visual Studio
Lab • Visual Studio Lab Management Quick Start
(10 days)
Testing • Manual Testing with Test Manager Quick
Start (5 days) • Visual Studio Testing Tools Quick Start
(10 days) • Visual Studio Automated Testing Quick Start
(5 days) • Visual Studio Load Testing Quick Start
(5 or 10 Days) Builds • Automated Build & Release Management
Quick Start (5 days) • Automated Build Center of Excellence (CoE)
Database • Visual Studio Database Tools Quick Start
(10 days) Integrations • Team Foundation Server (TFS) & Project
Server Integration Quick Start (10 days) • TFS & Quality Center Integration/Migration
Quick Start (10 days)
![Page 29: Branching and Merging and Bears, Oh My!](https://reader034.vdocuments.us/reader034/viewer/2022042821/55d5432cbb61ebca2d8b46d9/html5/thumbnails/29.jpg)
Questions?
![Page 30: Branching and Merging and Bears, Oh My!](https://reader034.vdocuments.us/reader034/viewer/2022042821/55d5432cbb61ebca2d8b46d9/html5/thumbnails/30.jpg)
http://www.imaginet.com