SlideShare a Scribd company logo
1 of 22
www.orbitone.com
Orbit One BVBA
Raas van Gaverestraat 83
B-9000 GENT, BELGIUM
Website www.orbitone.com
E-mail info@orbitone.com
Tel. +32 9 330 15 00
VAT BE 456.457.353
Bank 442-7059001-50 (KBC)
Presenter: Mel Gerats
14 September, 2010
Branching and Merging guidelines
14 September, 2010
Branching and Merging guidelines
This devcafé
Source control structure
Branching and Merging
Basic branch plan
14 September, 2010
Branching and Merging guidelines
Current project structure in source control
Client
Trunk
•Project 1
•Project 2
•Project 3
Branches
•Project 1 release 1
•Project 2 release 1
•Project 2 release 2
(Most of the time)
14 September, 2010
Branching and Merging guidelines
Problems
Messy structure
What branch is the live version?
Who works on which branch?
I need to deploy, now what?
I just fixed a bug but cannot deploy it !?
14 September, 2010
Branching and Merging guidelines
New project structure
Client Name
Project Name
•Main
•Development
 Development branch 1
 Development branch 2
•Release
 Production
14 September, 2010
Branching and Merging guidelines
Demo
14 September, 2010
Branching and Merging guidelines
What does it solve?
Better structured
One release branch if there is only one release
Always have a stable, feature complete, staging environment
Always have a deployable version
Allow concurrent development
14 September, 2010
Branching and Merging guidelines
How do we solve this?
Basic branch plan
Developed by the Visual Studio ALM Rangers
On codeplex
http://tfsbranchingguideiii.codeplex.com/
14 September, 2010
Branching and Merging guidelines
Basic Branch plan
Basic Branch plan
Stable main branch for testing
Release branch for bug fixes on live version
Development branches for development
14 September, 2010
Branching and Merging guidelines
Terminology
 Main branch
Stable main branch used for QA. => Staging
 Release branch
Corresponds with live version. Used for hotfixes
 Development branches
Branches for planned changes
 Forward integrate
Merge changes to a child branch
•Main -> Development
•Main -> Release
 Reverse integrate
Merge changes to a parent branch
•Dev -> Main
•Release -> Main
14 September, 2010
Branching and Merging guidelines
Requirements
Single major release
Your servicing model is to have customers upgrade to the next
major release.
Any fixes shipped from the release branch will include all
previous fixes from that branch.
Omg that sounds like a website!
14 September, 2010
Branching and Merging guidelines
Main branch
Create When?
When you create the project
14 September, 2010
Branching and Merging guidelines
Development branches
Create when?
You need to develop something new.
Forward Integrate when?
Forward Integrate with each successful build of Main
Main changed? -> merge changes into Development branch
Reverse Integrate when?
Reverse Integrate (RI) based on some objective team criteria (e.g.
internal quality gates, end of sprint, etc
Feature is done -> merge into Main
ONLY COMPLETE FEATURES
14 September, 2010
Branching and Merging guidelines
Release branch
Create when?
When you deploy to production
Reverse Integrate when?
Every time the Release branch is changed
•Bug fix
•Content update?
Release branch changes -> merge it into Main
Forward integrate when?
Each release
Merge into Release branch -> deploy
14 September, 2010
Branching and Merging guidelines
Project lifetime
 New client, new project
Create new Team Project
Create Project Folder
Create project in Main branch
Create development branch
Start developing
 Feature is done
RI into Main, deploy to staging
 Features are approved
Create release branch
Deploy
14 September, 2010
Branching and Merging guidelines
Project Lifetime
 Two new features! Two developers
Create new development branch for one
Start developing on different branches
 Feature One Complete
 Forward integrate Main into dev
 Reverse Integrate into Main, deploy to staging
 Forward Integrate into Dev 2
 Feature Two complete
 Forward Integrate Main into Dev 2
 Reverse Integrate Dev 2 into Main, deploy to staging
 Forward Integrate Main into dev 1
 Features approved
 Reverse Integrate changes from Release into Main
 Forward Integrate changes from Main into Release
 Deploy release
 Drink beer
14 September, 2010
Branching and Merging guidelines
Challenges
How to handle specific feature releases
Feature 1 can go live, Feature 2 can not
2 options
Specific development branch for some changes
•Vnext
•Vnext +1
OR
Merge a specific change set, not the latest version
14 September, 2010
Branching and Merging guidelines
Challenges
Different solution names for different branches
Pro: more clear
Con: can’t merge all changes
14 September, 2010
Branching and Merging guidelines
Tips
Forward Integrate often
As often as possible
Communicate!
If there are multiple developers, make it clear what work is done
where
14 September, 2010
Branching and Merging guidelines
Links
Guidelines on development wiki
Visual Studio TFS Branching Guide 2010
14 September, 2010
Branching and Merging guidelines
Questions
And answers!
www.orbitone.com
Branching and Merging guidelines
14 September, 2010

More Related Content

Viewers also liked

Илья Бирман – Ангстрем
Илья Бирман – АнгстремИлья Бирман – Ангстрем
Илья Бирман – Ангстрем404fest
 
Stokes Slideshare
Stokes SlideshareStokes Slideshare
Stokes SlideshareMiszShayG
 
E Discussion 29 Sept 2009
E Discussion 29 Sept 2009E Discussion 29 Sept 2009
E Discussion 29 Sept 2009guest249b8a7
 
Tutorial Search With Custom Column Slide Share
Tutorial Search With Custom Column Slide ShareTutorial Search With Custom Column Slide Share
Tutorial Search With Custom Column Slide Shareguest3f640c
 
Lindner Floor And More Eng
Lindner Floor And More EngLindner Floor And More Eng
Lindner Floor And More Englindnervietnam
 
Türkiyede Eğitim Sitemi
Türkiyede Eğitim SitemiTürkiyede Eğitim Sitemi
Türkiyede Eğitim SitemiYunus Emre
 
Nordic Shapes Produktutvikling
Nordic Shapes ProduktutviklingNordic Shapes Produktutvikling
Nordic Shapes Produktutviklinginars
 
Cecyt 2008
Cecyt 2008Cecyt 2008
Cecyt 2008moniki
 
NEDMA15: Building and Engaging Online Communities with Twitter - Justine Jord...
NEDMA15: Building and Engaging Online Communities with Twitter - Justine Jord...NEDMA15: Building and Engaging Online Communities with Twitter - Justine Jord...
NEDMA15: Building and Engaging Online Communities with Twitter - Justine Jord...New England Direct Marketing Association
 
Print Technology: Functional Printed Electronics - RFID & NFC versus QR Codes...
Print Technology: Functional Printed Electronics - RFID & NFC versus QR Codes...Print Technology: Functional Printed Electronics - RFID & NFC versus QR Codes...
Print Technology: Functional Printed Electronics - RFID & NFC versus QR Codes...New England Direct Marketing Association
 
Energy Sense Benelux Introductie
Energy Sense Benelux IntroductieEnergy Sense Benelux Introductie
Energy Sense Benelux IntroductieLeonCoolen
 
Perspetivas sobre o stress e desordens emocionais resultantes de contactos in...
Perspetivas sobre o stress e desordens emocionais resultantes de contactos in...Perspetivas sobre o stress e desordens emocionais resultantes de contactos in...
Perspetivas sobre o stress e desordens emocionais resultantes de contactos in...Teresa Sofia Castro
 
“I love my bones!” Online violence involving children: Self-harm and danger...
“I love my bones!”  Online violence involving children:  Self-harm and danger...“I love my bones!”  Online violence involving children:  Self-harm and danger...
“I love my bones!” Online violence involving children: Self-harm and danger...Teresa Sofia Castro
 
ShareCafé: Office365 - Efficiënt samenwerken met minimum aan kosten en comple...
ShareCafé: Office365 - Efficiënt samenwerken met minimum aan kosten en comple...ShareCafé: Office365 - Efficiënt samenwerken met minimum aan kosten en comple...
ShareCafé: Office365 - Efficiënt samenwerken met minimum aan kosten en comple...Orbit One - We create coherence
 
8 steps to requirements success
8 steps to requirements success8 steps to requirements success
8 steps to requirements successSteve Orr
 
Global Markalar
Global MarkalarGlobal Markalar
Global MarkalarYunus Emre
 
Smart421 mobile421 mob devcon 3 july
Smart421 mobile421 mob devcon 3 julySmart421 mobile421 mob devcon 3 july
Smart421 mobile421 mob devcon 3 julyAndrew Smale
 

Viewers also liked (20)

Илья Бирман – Ангстрем
Илья Бирман – АнгстремИлья Бирман – Ангстрем
Илья Бирман – Ангстрем
 
Stokes Slideshare
Stokes SlideshareStokes Slideshare
Stokes Slideshare
 
E Discussion 29 Sept 2009
E Discussion 29 Sept 2009E Discussion 29 Sept 2009
E Discussion 29 Sept 2009
 
Tutorial Search With Custom Column Slide Share
Tutorial Search With Custom Column Slide ShareTutorial Search With Custom Column Slide Share
Tutorial Search With Custom Column Slide Share
 
Lindner Floor And More Eng
Lindner Floor And More EngLindner Floor And More Eng
Lindner Floor And More Eng
 
Seguridad
SeguridadSeguridad
Seguridad
 
Türkiyede Eğitim Sitemi
Türkiyede Eğitim SitemiTürkiyede Eğitim Sitemi
Türkiyede Eğitim Sitemi
 
Nordic Shapes Produktutvikling
Nordic Shapes ProduktutviklingNordic Shapes Produktutvikling
Nordic Shapes Produktutvikling
 
Cecyt 2008
Cecyt 2008Cecyt 2008
Cecyt 2008
 
NEDMA15: Building and Engaging Online Communities with Twitter - Justine Jord...
NEDMA15: Building and Engaging Online Communities with Twitter - Justine Jord...NEDMA15: Building and Engaging Online Communities with Twitter - Justine Jord...
NEDMA15: Building and Engaging Online Communities with Twitter - Justine Jord...
 
Print Technology: Functional Printed Electronics - RFID & NFC versus QR Codes...
Print Technology: Functional Printed Electronics - RFID & NFC versus QR Codes...Print Technology: Functional Printed Electronics - RFID & NFC versus QR Codes...
Print Technology: Functional Printed Electronics - RFID & NFC versus QR Codes...
 
Energy Sense Benelux Introductie
Energy Sense Benelux IntroductieEnergy Sense Benelux Introductie
Energy Sense Benelux Introductie
 
Perspetivas sobre o stress e desordens emocionais resultantes de contactos in...
Perspetivas sobre o stress e desordens emocionais resultantes de contactos in...Perspetivas sobre o stress e desordens emocionais resultantes de contactos in...
Perspetivas sobre o stress e desordens emocionais resultantes de contactos in...
 
“I love my bones!” Online violence involving children: Self-harm and danger...
“I love my bones!”  Online violence involving children:  Self-harm and danger...“I love my bones!”  Online violence involving children:  Self-harm and danger...
“I love my bones!” Online violence involving children: Self-harm and danger...
 
Morin
MorinMorin
Morin
 
Council Presentation Feb22
Council Presentation Feb22Council Presentation Feb22
Council Presentation Feb22
 
ShareCafé: Office365 - Efficiënt samenwerken met minimum aan kosten en comple...
ShareCafé: Office365 - Efficiënt samenwerken met minimum aan kosten en comple...ShareCafé: Office365 - Efficiënt samenwerken met minimum aan kosten en comple...
ShareCafé: Office365 - Efficiënt samenwerken met minimum aan kosten en comple...
 
8 steps to requirements success
8 steps to requirements success8 steps to requirements success
8 steps to requirements success
 
Global Markalar
Global MarkalarGlobal Markalar
Global Markalar
 
Smart421 mobile421 mob devcon 3 july
Smart421 mobile421 mob devcon 3 julySmart421 mobile421 mob devcon 3 july
Smart421 mobile421 mob devcon 3 july
 

Similar to Source control branching and merging guidelines

SharePoint Designer 2013 Workflows - SP Intersection
SharePoint Designer 2013 Workflows - SP IntersectionSharePoint Designer 2013 Workflows - SP Intersection
SharePoint Designer 2013 Workflows - SP IntersectionAsif Rehmani
 
SPS Dubai Best Practice upgrading SharePoint from 2007/2010 to 2013 and 2013 SP1
SPS Dubai Best Practice upgrading SharePoint from 2007/2010 to 2013 and 2013 SP1SPS Dubai Best Practice upgrading SharePoint from 2007/2010 to 2013 and 2013 SP1
SPS Dubai Best Practice upgrading SharePoint from 2007/2010 to 2013 and 2013 SP1Knut Relbe-Moe [MVP, MCT]
 
Gitflow - Clouddictive
Gitflow   - ClouddictiveGitflow   - Clouddictive
Gitflow - ClouddictiveClouddictive
 
SharePoint Developer Experience Present & Future
SharePoint Developer Experience Present & FutureSharePoint Developer Experience Present & Future
SharePoint Developer Experience Present & Futuremattbremer
 
An Introduction to SharePoint Designer 2010
An Introduction to SharePoint Designer 2010An Introduction to SharePoint Designer 2010
An Introduction to SharePoint Designer 2010Ben Robb
 
codeBeamer Eclipse DemoCamp-23.11.2010
codeBeamer Eclipse DemoCamp-23.11.2010codeBeamer Eclipse DemoCamp-23.11.2010
codeBeamer Eclipse DemoCamp-23.11.2010Intland Software GmbH
 
Converting SAP Business Objects to a New Architecture Solution
Converting SAP Business Objects to a New Architecture SolutionConverting SAP Business Objects to a New Architecture Solution
Converting SAP Business Objects to a New Architecture SolutionDenodo
 
Make Subversion Agile
Make Subversion AgileMake Subversion Agile
Make Subversion AgileWANdisco Plc
 
SharePoint 2013 Workflow from K2
SharePoint 2013 Workflow from K2SharePoint 2013 Workflow from K2
SharePoint 2013 Workflow from K2K2
 
Office Add-ins community call-March 2019
Office Add-ins community call-March 2019Office Add-ins community call-March 2019
Office Add-ins community call-March 2019Microsoft 365 Developer
 
Trunk based development
Trunk based developmentTrunk based development
Trunk based developmentgo_oh
 
Introduction to WSO2 Developer Studio
Introduction to WSO2 Developer Studio Introduction to WSO2 Developer Studio
Introduction to WSO2 Developer Studio WSO2
 
Iman Mukhopadhyay_Resume
Iman Mukhopadhyay_ResumeIman Mukhopadhyay_Resume
Iman Mukhopadhyay_ResumeIman Mukherjee
 
Test driven Soa Suite 12c Upgrade
Test driven Soa Suite 12c UpgradeTest driven Soa Suite 12c Upgrade
Test driven Soa Suite 12c UpgradeSven Bernhardt
 
Adopting PCF At An Automobile Manufacturer
Adopting PCF At An Automobile ManufacturerAdopting PCF At An Automobile Manufacturer
Adopting PCF At An Automobile ManufacturerVMware Tanzu
 
Adopting PCF At An Automobile Manufacturer
Adopting PCF At An Automobile ManufacturerAdopting PCF At An Automobile Manufacturer
Adopting PCF At An Automobile ManufacturerGregor Zurowski
 
SPSBE14 SPSBE02 SharePoint Upgrade reel life experience, best practices
SPSBE14 SPSBE02 SharePoint Upgrade reel life experience, best practicesSPSBE14 SPSBE02 SharePoint Upgrade reel life experience, best practices
SPSBE14 SPSBE02 SharePoint Upgrade reel life experience, best practicesKnut Relbe-Moe [MVP, MCT]
 
How to use Git Branch
How to use Git BranchHow to use Git Branch
How to use Git BranchPhuoc Nguyen
 
Feature Scoring in Green Field Application Development and DevOps
Feature Scoring in Green Field Application Development and DevOpsFeature Scoring in Green Field Application Development and DevOps
Feature Scoring in Green Field Application Development and DevOpsDevOps Indonesia
 

Similar to Source control branching and merging guidelines (20)

SharePoint Designer 2013 Workflows - SP Intersection
SharePoint Designer 2013 Workflows - SP IntersectionSharePoint Designer 2013 Workflows - SP Intersection
SharePoint Designer 2013 Workflows - SP Intersection
 
SPS Dubai Best Practice upgrading SharePoint from 2007/2010 to 2013 and 2013 SP1
SPS Dubai Best Practice upgrading SharePoint from 2007/2010 to 2013 and 2013 SP1SPS Dubai Best Practice upgrading SharePoint from 2007/2010 to 2013 and 2013 SP1
SPS Dubai Best Practice upgrading SharePoint from 2007/2010 to 2013 and 2013 SP1
 
Gitflow - Clouddictive
Gitflow   - ClouddictiveGitflow   - Clouddictive
Gitflow - Clouddictive
 
SharePoint Developer Experience Present & Future
SharePoint Developer Experience Present & FutureSharePoint Developer Experience Present & Future
SharePoint Developer Experience Present & Future
 
An Introduction to SharePoint Designer 2010
An Introduction to SharePoint Designer 2010An Introduction to SharePoint Designer 2010
An Introduction to SharePoint Designer 2010
 
codeBeamer Eclipse DemoCamp-23.11.2010
codeBeamer Eclipse DemoCamp-23.11.2010codeBeamer Eclipse DemoCamp-23.11.2010
codeBeamer Eclipse DemoCamp-23.11.2010
 
Converting SAP Business Objects to a New Architecture Solution
Converting SAP Business Objects to a New Architecture SolutionConverting SAP Business Objects to a New Architecture Solution
Converting SAP Business Objects to a New Architecture Solution
 
Make Subversion Agile
Make Subversion AgileMake Subversion Agile
Make Subversion Agile
 
SharePoint 2013 Workflow from K2
SharePoint 2013 Workflow from K2SharePoint 2013 Workflow from K2
SharePoint 2013 Workflow from K2
 
Office Add-ins community call-March 2019
Office Add-ins community call-March 2019Office Add-ins community call-March 2019
Office Add-ins community call-March 2019
 
Trunk based development
Trunk based developmentTrunk based development
Trunk based development
 
Introduction to WSO2 Developer Studio
Introduction to WSO2 Developer Studio Introduction to WSO2 Developer Studio
Introduction to WSO2 Developer Studio
 
Iman Mukhopadhyay_Resume
Iman Mukhopadhyay_ResumeIman Mukhopadhyay_Resume
Iman Mukhopadhyay_Resume
 
Speakers slidedeckwidescreen sp-biz
Speakers slidedeckwidescreen   sp-bizSpeakers slidedeckwidescreen   sp-biz
Speakers slidedeckwidescreen sp-biz
 
Test driven Soa Suite 12c Upgrade
Test driven Soa Suite 12c UpgradeTest driven Soa Suite 12c Upgrade
Test driven Soa Suite 12c Upgrade
 
Adopting PCF At An Automobile Manufacturer
Adopting PCF At An Automobile ManufacturerAdopting PCF At An Automobile Manufacturer
Adopting PCF At An Automobile Manufacturer
 
Adopting PCF At An Automobile Manufacturer
Adopting PCF At An Automobile ManufacturerAdopting PCF At An Automobile Manufacturer
Adopting PCF At An Automobile Manufacturer
 
SPSBE14 SPSBE02 SharePoint Upgrade reel life experience, best practices
SPSBE14 SPSBE02 SharePoint Upgrade reel life experience, best practicesSPSBE14 SPSBE02 SharePoint Upgrade reel life experience, best practices
SPSBE14 SPSBE02 SharePoint Upgrade reel life experience, best practices
 
How to use Git Branch
How to use Git BranchHow to use Git Branch
How to use Git Branch
 
Feature Scoring in Green Field Application Development and DevOps
Feature Scoring in Green Field Application Development and DevOpsFeature Scoring in Green Field Application Development and DevOps
Feature Scoring in Green Field Application Development and DevOps
 

More from Orbit One - We create coherence

ShareCafé: SharePoint - Een doos vol documenten of dé tool om efficiënt samen...
ShareCafé: SharePoint - Een doos vol documenten of dé tool om efficiënt samen...ShareCafé: SharePoint - Een doos vol documenten of dé tool om efficiënt samen...
ShareCafé: SharePoint - Een doos vol documenten of dé tool om efficiënt samen...Orbit One - We create coherence
 
ShareCafé 3 - Geef je samenwerking een technologische upgrade
ShareCafé 3 - Geef je samenwerking een technologische upgradeShareCafé 3 - Geef je samenwerking een technologische upgrade
ShareCafé 3 - Geef je samenwerking een technologische upgradeOrbit One - We create coherence
 
OneCafé: De toekomst van ledenorganisaties met behulp van CRM en informatie-u...
OneCafé: De toekomst van ledenorganisaties met behulp van CRM en informatie-u...OneCafé: De toekomst van ledenorganisaties met behulp van CRM en informatie-u...
OneCafé: De toekomst van ledenorganisaties met behulp van CRM en informatie-u...Orbit One - We create coherence
 
OneCafé: The future of membership organizations facilitated by CRM and collab...
OneCafé: The future of membership organizations facilitated by CRM and collab...OneCafé: The future of membership organizations facilitated by CRM and collab...
OneCafé: The future of membership organizations facilitated by CRM and collab...Orbit One - We create coherence
 
Social Computing in your organization using SharePoint: challenges and benefits
Social Computing in your organization using SharePoint: challenges and benefitsSocial Computing in your organization using SharePoint: challenges and benefits
Social Computing in your organization using SharePoint: challenges and benefitsOrbit One - We create coherence
 
Marketing Automation in Dynamics CRM with ClickDimensions
Marketing Automation in Dynamics CRM with ClickDimensionsMarketing Automation in Dynamics CRM with ClickDimensions
Marketing Automation in Dynamics CRM with ClickDimensionsOrbit One - We create coherence
 

More from Orbit One - We create coherence (20)

ShareCafé: SharePoint - Een doos vol documenten of dé tool om efficiënt samen...
ShareCafé: SharePoint - Een doos vol documenten of dé tool om efficiënt samen...ShareCafé: SharePoint - Een doos vol documenten of dé tool om efficiënt samen...
ShareCafé: SharePoint - Een doos vol documenten of dé tool om efficiënt samen...
 
HoGent tips and tricks van een self-made ondernemer
HoGent tips and tricks van een self-made ondernemer HoGent tips and tricks van een self-made ondernemer
HoGent tips and tricks van een self-made ondernemer
 
Het Nieuwe Werken in de praktijk
Het Nieuwe Werkenin de praktijkHet Nieuwe Werkenin de praktijk
Het Nieuwe Werken in de praktijk
 
ShareCafé 3 - Geef je samenwerking een technologische upgrade
ShareCafé 3 - Geef je samenwerking een technologische upgradeShareCafé 3 - Geef je samenwerking een technologische upgrade
ShareCafé 3 - Geef je samenwerking een technologische upgrade
 
ShareCafé 2 - Werk slimmer door geïntegreerde tools
ShareCafé 2 - Werk slimmer door geïntegreerde toolsShareCafé 2 - Werk slimmer door geïntegreerde tools
ShareCafé 2 - Werk slimmer door geïntegreerde tools
 
ShareCafé 1: Hou de Nieuwe Werker gemotiveerd
ShareCafé 1: Hou de Nieuwe Werker gemotiveerdShareCafé 1: Hou de Nieuwe Werker gemotiveerd
ShareCafé 1: Hou de Nieuwe Werker gemotiveerd
 
Business value of Lync integrations
Business value of Lync integrationsBusiness value of Lync integrations
Business value of Lync integrations
 
OneCafé: De toekomst van ledenorganisaties met behulp van CRM en informatie-u...
OneCafé: De toekomst van ledenorganisaties met behulp van CRM en informatie-u...OneCafé: De toekomst van ledenorganisaties met behulp van CRM en informatie-u...
OneCafé: De toekomst van ledenorganisaties met behulp van CRM en informatie-u...
 
Identity in the cloud using Microsoft
Identity in the cloud using MicrosoftIdentity in the cloud using Microsoft
Identity in the cloud using Microsoft
 
OneCafé: The future of membership organizations facilitated by CRM and collab...
OneCafé: The future of membership organizations facilitated by CRM and collab...OneCafé: The future of membership organizations facilitated by CRM and collab...
OneCafé: The future of membership organizations facilitated by CRM and collab...
 
OneCafé: The new world of work and your organisation
OneCafé: The new world of work and your organisationOneCafé: The new world of work and your organisation
OneCafé: The new world of work and your organisation
 
Social Computing in your organization using SharePoint: challenges and benefits
Social Computing in your organization using SharePoint: challenges and benefitsSocial Computing in your organization using SharePoint: challenges and benefits
Social Computing in your organization using SharePoint: challenges and benefits
 
Windows Communication Foundation (WCF) Best Practices
Windows Communication Foundation (WCF) Best PracticesWindows Communication Foundation (WCF) Best Practices
Windows Communication Foundation (WCF) Best Practices
 
Wie is Orbit One Internet Solutions
Wie is Orbit One Internet SolutionsWie is Orbit One Internet Solutions
Wie is Orbit One Internet Solutions
 
Azure Umbraco workshop
Azure Umbraco workshopAzure Umbraco workshop
Azure Umbraco workshop
 
Marketing Automation in Dynamics CRM with ClickDimensions
Marketing Automation in Dynamics CRM with ClickDimensionsMarketing Automation in Dynamics CRM with ClickDimensions
Marketing Automation in Dynamics CRM with ClickDimensions
 
Office 365, is cloud right for your company?
Office 365, is cloud right for your company?Office 365, is cloud right for your company?
Office 365, is cloud right for your company?
 
Who is Orbit One internet solutions?
Who is Orbit One internet solutions?Who is Orbit One internet solutions?
Who is Orbit One internet solutions?
 
Azure and Umbraco CMS
Azure and Umbraco CMSAzure and Umbraco CMS
Azure and Umbraco CMS
 
Ingredients of the new world of work
Ingredients of the new world of workIngredients of the new world of work
Ingredients of the new world of work
 

Recently uploaded

My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGSujit Pal
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 

Recently uploaded (20)

My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAG
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 

Source control branching and merging guidelines

  • 1. www.orbitone.com Orbit One BVBA Raas van Gaverestraat 83 B-9000 GENT, BELGIUM Website www.orbitone.com E-mail info@orbitone.com Tel. +32 9 330 15 00 VAT BE 456.457.353 Bank 442-7059001-50 (KBC) Presenter: Mel Gerats 14 September, 2010 Branching and Merging guidelines
  • 2. 14 September, 2010 Branching and Merging guidelines This devcafé Source control structure Branching and Merging Basic branch plan
  • 3. 14 September, 2010 Branching and Merging guidelines Current project structure in source control Client Trunk •Project 1 •Project 2 •Project 3 Branches •Project 1 release 1 •Project 2 release 1 •Project 2 release 2 (Most of the time)
  • 4. 14 September, 2010 Branching and Merging guidelines Problems Messy structure What branch is the live version? Who works on which branch? I need to deploy, now what? I just fixed a bug but cannot deploy it !?
  • 5. 14 September, 2010 Branching and Merging guidelines New project structure Client Name Project Name •Main •Development  Development branch 1  Development branch 2 •Release  Production
  • 6. 14 September, 2010 Branching and Merging guidelines Demo
  • 7. 14 September, 2010 Branching and Merging guidelines What does it solve? Better structured One release branch if there is only one release Always have a stable, feature complete, staging environment Always have a deployable version Allow concurrent development
  • 8. 14 September, 2010 Branching and Merging guidelines How do we solve this? Basic branch plan Developed by the Visual Studio ALM Rangers On codeplex http://tfsbranchingguideiii.codeplex.com/
  • 9. 14 September, 2010 Branching and Merging guidelines Basic Branch plan Basic Branch plan Stable main branch for testing Release branch for bug fixes on live version Development branches for development
  • 10. 14 September, 2010 Branching and Merging guidelines Terminology  Main branch Stable main branch used for QA. => Staging  Release branch Corresponds with live version. Used for hotfixes  Development branches Branches for planned changes  Forward integrate Merge changes to a child branch •Main -> Development •Main -> Release  Reverse integrate Merge changes to a parent branch •Dev -> Main •Release -> Main
  • 11. 14 September, 2010 Branching and Merging guidelines Requirements Single major release Your servicing model is to have customers upgrade to the next major release. Any fixes shipped from the release branch will include all previous fixes from that branch. Omg that sounds like a website!
  • 12. 14 September, 2010 Branching and Merging guidelines Main branch Create When? When you create the project
  • 13. 14 September, 2010 Branching and Merging guidelines Development branches Create when? You need to develop something new. Forward Integrate when? Forward Integrate with each successful build of Main Main changed? -> merge changes into Development branch Reverse Integrate when? Reverse Integrate (RI) based on some objective team criteria (e.g. internal quality gates, end of sprint, etc Feature is done -> merge into Main ONLY COMPLETE FEATURES
  • 14. 14 September, 2010 Branching and Merging guidelines Release branch Create when? When you deploy to production Reverse Integrate when? Every time the Release branch is changed •Bug fix •Content update? Release branch changes -> merge it into Main Forward integrate when? Each release Merge into Release branch -> deploy
  • 15. 14 September, 2010 Branching and Merging guidelines Project lifetime  New client, new project Create new Team Project Create Project Folder Create project in Main branch Create development branch Start developing  Feature is done RI into Main, deploy to staging  Features are approved Create release branch Deploy
  • 16. 14 September, 2010 Branching and Merging guidelines Project Lifetime  Two new features! Two developers Create new development branch for one Start developing on different branches  Feature One Complete  Forward integrate Main into dev  Reverse Integrate into Main, deploy to staging  Forward Integrate into Dev 2  Feature Two complete  Forward Integrate Main into Dev 2  Reverse Integrate Dev 2 into Main, deploy to staging  Forward Integrate Main into dev 1  Features approved  Reverse Integrate changes from Release into Main  Forward Integrate changes from Main into Release  Deploy release  Drink beer
  • 17. 14 September, 2010 Branching and Merging guidelines Challenges How to handle specific feature releases Feature 1 can go live, Feature 2 can not 2 options Specific development branch for some changes •Vnext •Vnext +1 OR Merge a specific change set, not the latest version
  • 18. 14 September, 2010 Branching and Merging guidelines Challenges Different solution names for different branches Pro: more clear Con: can’t merge all changes
  • 19. 14 September, 2010 Branching and Merging guidelines Tips Forward Integrate often As often as possible Communicate! If there are multiple developers, make it clear what work is done where
  • 20. 14 September, 2010 Branching and Merging guidelines Links Guidelines on development wiki Visual Studio TFS Branching Guide 2010
  • 21. 14 September, 2010 Branching and Merging guidelines Questions And answers!
  • 22. www.orbitone.com Branching and Merging guidelines 14 September, 2010