SlideShare a Scribd company logo
Page 1 of 4
Branching & Merging Strategy.
Date 19th
Dec 2016
Author Rahul Janghel
Version 1.0.0
1. Objective:
Build a better Branching and merge policy which will provide:
1.1 Single Master model with :
 Stable and Clean Master Branch.
 Release-ready code on Master Branch.
1.2 Defined Branch-forking practice.
1.3 Predictable :
 Sprint / Feature Branch Name
 POMVersion
 Branch for Feature / fix Release, along with feature / fix release sequence.
 Source branch to fork a feature / fix branch
 Destination branch to receive feature / fix.
1.4 Independent branch per :
 Sprint
 Feature
 Fix.
1.5 Stable upstream branch.
2. Define Branching Architecture :
2.1 Branch Naming Convention :
<Sprint Version>.<Major Release>.<Minor Release>.<Feature / Fix Branch>
- Sprint started at 1st Oct 2016 may have a Sprint Version as 2016_Q4.1.0
- Sprint Version could be anything between 2016_Q4.1.0 to 2016_Q4.9.99
- Branch Version will be always an incremental number.
- Week number of calendar month will not get consider.
2.2 Sprint and release branch naming convention:
- Create Sprint Branch with name “2016_Q4.0.0” in sprint period of “2016-Q4”.
- Branch Naming Scheme under Sprint “2016-Q4” :
 1st major release : “2016-Q4.1.0”
 1st minor release under 1st
major release : “2016-Q4.1.1”
 2nd major release : “2016-Q4.2.0”
 1st minor release under 2nd
major release : “2016-Q4.2.1”
2.3 Feature branch naming convention:
- In sprint period of “2016-Q4”, Developer shouldcreate feature / fix branch name as
“2016_Q4.0.0-feature_number”.
Page 2 of 4
- Feature Branch Naming Scheme under Sprint “2016-Q4” :
 Feature / fix branch name under 1st major release:
“2016-Q4.1.0-feature_number”.
 Feature / fix branch name under 1st minor release :
“2016-Q4.1.1-feature_number”
 Feature / fix branch name under 2nd
major release:
“2016-Q4.2.0-feature_number”.
 Feature / fix branch name under 2nd
minor release :
“2016-Q4.2.1-feature_number”
2.4 Release Branch naming convention:
- For Sprint period “2016-Q4”, Release Branch name should be :
 “2016_Q4.0.0_RC”
2.5 POM version convention:
- In sprintperiodof “2016-Q4”, POMversioningshouldbe like, (If using SNAPSHOT) :
 1st major release branch POMVersion : “2016-Q4.1.0-SNAPSHOT”
 1st minor release branch POMVersion : “2016-Q4.1.1-SNAPSHOT”
 2nd major release branch POMVersion : “2016-Q4.2.0-SNAPSHOT”
 2nd minor release branch POMVersion : “2016-Q4.2.1-SNAPSHOT”
 Feature / fix branch POMVersion under X major & Y minor release:
“2016-Q4.X.Y-feature_number-SNAPSHOT”.
 For Release Branch “2016_Q4.0.0_RC” POMVersion : “2016_Q4.0.0”
2.6 Release Branch Tag name scheme :
- For Sprint period “2016-Q4”, Release Branch “2016_Q4.0.0_RC” should get tag as
 “2016_Q4.0.0_RC_Release-Date”
3. Branching Process flow :
3.1 Sprint Branch creation work flow :
- Ensure Master Branch has all updates from last Sprint Release Branch.
 Check master branch has same commit ID as last Sprint Release Branch.
 Last Sprint Release Branch is tagged after successful Production / QA / QA
release.
- Create ticket / send mail to DevOps team to create a Sprint branch from master.
- Update Sprint version in all POMfiles.
- Ensure approved naming scheme is followed for branch creation and POMfiles.
- Execute Integrationtest,code coverage shouldmeet minimum passing percentage.
- Inform all developers upon new Sprint branch status.
 Mention new branch’s name.
 POMfile version
 Suggest name of first feature branch for current sprint.
Page 3 of 4
3.2 Feature / Fix Branch creation work flow :
- Create ticket / send mail to DevOps team to create a feature branch.
- Ensure Feature Branch has been created from sprint branch.
- Update feature branch POMversion in all POM.xml files.
- Ensure approved naming scheme is followed while crating feature branch and
updating POMfiles.
- Inform all developers upon new feature branch status
 Mention new feature branch’s name.
 Feature Branch POMfile version
3.3 Release Branch creation work flow :
- Call for Code Freeze 2 days prior to Production / QA / QA Release.
- Insure all feature / fix branch is merged to Sprint Branch.
- Take a signed off from QA team on existing fix committed in Sprint Branch.
- Create ticket / send mail to DevOps team to create a Release branch.
- Ensure all POMfiles is following approved naming scheme for POMversion.
- Ensure direct commit to Release Branch is blocked.
4. Branch Merge Process flow :
- Ensure Master and Sprint Branch is protected from direct Commit.
- To update Sprint branch from feature branch, create a pull request.
- Onlyaftersuccessfullypassingcode review criteria,merge buttonshouldgetenable.
- For Production / QA / QA / QA release, create ticket / send mail to DevOps team to
merge Master Branch into Release Branch.
- Ensure all POMfiles is following approved naming scheme for POMversion.
- Run all unit test and Integration test suite on Release Branch.
- Use Release Branch artifacts for Production / QA / QA / QA Release.
- Ensure Production/QA / QA / QA environmentissuccessfullydeployedfromRelease
Branch.
- Tag Release Branch.
- Create ticket / send mail to DevOps team to merge Master Branch into Release
Branch.
5. Use of Branch to Deploy on various environment :
- Use Sprint Branch to Deploy on QA / Dev environment.
 At least once every day.
- Use Feature / Fix Branch to deploy on Dev environment.
 Multiple time or as require every day.
- Use Release Branch to deploy on Staging / UAT / Preprod environment.
 After code freeze
 Before Production / QA / QA release.
Page 4 of 4
6. Release Branch update flow (Post Code Freeze) :
- Ask Developer to create ticket / send mail to Sprint Owner, seeking approval.
- Attach Unit test report along with request.
- Open Pull request for code review and merge into Release Branch.
- Run all unit test and Integration test suite on Release Branch.
- Use Release Branch to deploy on Staging / UAT / Preprod environment.
- Merge Release branch into Master branch.
7. Production / QA / QA Release & Hot fix Deployment :
- AfterregresstestingonUAT & Preprodenvironment,share reportswithBA & Sprint
Master and take signoff.
- Use Release Branch artifacts to Deploy over Production / QA / QA Environment.
- In case of any bug/ issue /hotfix release, from Master branch create new branch as
 For 1st major release : “2016-Q4.1.0”
 For 1st minor release under 1st
major release : “2016-Q4.1.1”
- Use fix branch artifacts to Deploy over UAT / Preprod Environment and verify.
- Use fix branch artifacts to Deploy over Production / QA / QA Environment.
- Merge fix branch into master branch & next Sprint branch.
--- EOD ---
Ad

More Related Content

What's hot (20)

Git branching strategies
Git branching strategiesGit branching strategies
Git branching strategies
jstack
 
Branching and Merging Practices
Branching and Merging Practices Branching and Merging Practices
Branching and Merging Practices
Rajesh Kumar
 
Automation of Release and Deployment Management - Maveric
Automation of Release and Deployment Management - MavericAutomation of Release and Deployment Management - Maveric
Automation of Release and Deployment Management - Maveric
Maveric Systems
 
Introduction to Event Driven Architecture
Introduction to Event Driven ArchitectureIntroduction to Event Driven Architecture
Introduction to Event Driven Architecture
CitiusTech
 
Azure Pipelines
Azure PipelinesAzure Pipelines
Azure Pipelines
Mithun Shanbhag
 
Washington DC MuleSoft Meetup: CI/CD Pipeline with MuleSoft and Azure DevOps
Washington DC MuleSoft Meetup: CI/CD Pipeline with MuleSoft and Azure DevOpsWashington DC MuleSoft Meetup: CI/CD Pipeline with MuleSoft and Azure DevOps
Washington DC MuleSoft Meetup: CI/CD Pipeline with MuleSoft and Azure DevOps
Big Compass
 
Introduction to CloudHub 2.0
Introduction to CloudHub 2.0Introduction to CloudHub 2.0
Introduction to CloudHub 2.0
NeerajKumar1965
 
Microservices Platform with Spring Boot, Spring Cloud Config, Spring Cloud Ne...
Microservices Platform with Spring Boot, Spring Cloud Config, Spring Cloud Ne...Microservices Platform with Spring Boot, Spring Cloud Config, Spring Cloud Ne...
Microservices Platform with Spring Boot, Spring Cloud Config, Spring Cloud Ne...
Tin Linn Soe
 
DevOps Architecture Design
DevOps Architecture DesignDevOps Architecture Design
DevOps Architecture Design
Agile Testing Alliance
 
Git Series. Episode 3. Git Flow and Github-Flow
Git Series. Episode 3. Git Flow and Github-FlowGit Series. Episode 3. Git Flow and Github-Flow
Git Series. Episode 3. Git Flow and Github-Flow
Mikhail Melnik
 
Developing a Testing Strategy for DevOps Success
Developing a Testing Strategy for DevOps SuccessDeveloping a Testing Strategy for DevOps Success
Developing a Testing Strategy for DevOps Success
DevOps.com
 
Microsoft DevOps Solution - DevOps
Microsoft DevOps Solution - DevOps  Microsoft DevOps Solution - DevOps
Microsoft DevOps Solution - DevOps
Chetan Gordhan
 
Ansible with Jenkins in a CI/CD Process
Ansible with Jenkins in a CI/CD ProcessAnsible with Jenkins in a CI/CD Process
Ansible with Jenkins in a CI/CD Process
Khairul Zebua
 
Devops Devops Devops, at Froscon
Devops Devops Devops, at FrosconDevops Devops Devops, at Froscon
Devops Devops Devops, at Froscon
Kris Buytaert
 
CI/CD Tools Universe: The Ultimate List
CI/CD Tools Universe: The Ultimate ListCI/CD Tools Universe: The Ultimate List
CI/CD Tools Universe: The Ultimate List
Plutora
 
CI/CD Overview
CI/CD OverviewCI/CD Overview
CI/CD Overview
An Nguyen
 
DevOps Monitoring and Alerting
DevOps Monitoring and AlertingDevOps Monitoring and Alerting
DevOps Monitoring and Alerting
Khairul Zebua
 
[Final] best practices for access management (mule soft meetups riyadh) - j...
[Final] best practices for access management (mule soft meetups   riyadh) - j...[Final] best practices for access management (mule soft meetups   riyadh) - j...
[Final] best practices for access management (mule soft meetups riyadh) - j...
satyasekhar123
 
Git Branch
Git BranchGit Branch
Git Branch
Wei-Tsung Su
 
Custom policies in mule 4 and a circuit breaker example
Custom policies in mule 4 and a circuit breaker exampleCustom policies in mule 4 and a circuit breaker example
Custom policies in mule 4 and a circuit breaker example
Royston Lobo
 
Git branching strategies
Git branching strategiesGit branching strategies
Git branching strategies
jstack
 
Branching and Merging Practices
Branching and Merging Practices Branching and Merging Practices
Branching and Merging Practices
Rajesh Kumar
 
Automation of Release and Deployment Management - Maveric
Automation of Release and Deployment Management - MavericAutomation of Release and Deployment Management - Maveric
Automation of Release and Deployment Management - Maveric
Maveric Systems
 
Introduction to Event Driven Architecture
Introduction to Event Driven ArchitectureIntroduction to Event Driven Architecture
Introduction to Event Driven Architecture
CitiusTech
 
Washington DC MuleSoft Meetup: CI/CD Pipeline with MuleSoft and Azure DevOps
Washington DC MuleSoft Meetup: CI/CD Pipeline with MuleSoft and Azure DevOpsWashington DC MuleSoft Meetup: CI/CD Pipeline with MuleSoft and Azure DevOps
Washington DC MuleSoft Meetup: CI/CD Pipeline with MuleSoft and Azure DevOps
Big Compass
 
Introduction to CloudHub 2.0
Introduction to CloudHub 2.0Introduction to CloudHub 2.0
Introduction to CloudHub 2.0
NeerajKumar1965
 
Microservices Platform with Spring Boot, Spring Cloud Config, Spring Cloud Ne...
Microservices Platform with Spring Boot, Spring Cloud Config, Spring Cloud Ne...Microservices Platform with Spring Boot, Spring Cloud Config, Spring Cloud Ne...
Microservices Platform with Spring Boot, Spring Cloud Config, Spring Cloud Ne...
Tin Linn Soe
 
Git Series. Episode 3. Git Flow and Github-Flow
Git Series. Episode 3. Git Flow and Github-FlowGit Series. Episode 3. Git Flow and Github-Flow
Git Series. Episode 3. Git Flow and Github-Flow
Mikhail Melnik
 
Developing a Testing Strategy for DevOps Success
Developing a Testing Strategy for DevOps SuccessDeveloping a Testing Strategy for DevOps Success
Developing a Testing Strategy for DevOps Success
DevOps.com
 
Microsoft DevOps Solution - DevOps
Microsoft DevOps Solution - DevOps  Microsoft DevOps Solution - DevOps
Microsoft DevOps Solution - DevOps
Chetan Gordhan
 
Ansible with Jenkins in a CI/CD Process
Ansible with Jenkins in a CI/CD ProcessAnsible with Jenkins in a CI/CD Process
Ansible with Jenkins in a CI/CD Process
Khairul Zebua
 
Devops Devops Devops, at Froscon
Devops Devops Devops, at FrosconDevops Devops Devops, at Froscon
Devops Devops Devops, at Froscon
Kris Buytaert
 
CI/CD Tools Universe: The Ultimate List
CI/CD Tools Universe: The Ultimate ListCI/CD Tools Universe: The Ultimate List
CI/CD Tools Universe: The Ultimate List
Plutora
 
CI/CD Overview
CI/CD OverviewCI/CD Overview
CI/CD Overview
An Nguyen
 
DevOps Monitoring and Alerting
DevOps Monitoring and AlertingDevOps Monitoring and Alerting
DevOps Monitoring and Alerting
Khairul Zebua
 
[Final] best practices for access management (mule soft meetups riyadh) - j...
[Final] best practices for access management (mule soft meetups   riyadh) - j...[Final] best practices for access management (mule soft meetups   riyadh) - j...
[Final] best practices for access management (mule soft meetups riyadh) - j...
satyasekhar123
 
Custom policies in mule 4 and a circuit breaker example
Custom policies in mule 4 and a circuit breaker exampleCustom policies in mule 4 and a circuit breaker example
Custom policies in mule 4 and a circuit breaker example
Royston Lobo
 

Similar to Branching and merging strategy (20)

Release With Maven
Release With MavenRelease With Maven
Release With Maven
eugenn
 
Strategy to setup Subversion for Salesforce development for Agile Team
Strategy to setup Subversion for Salesforce development for Agile TeamStrategy to setup Subversion for Salesforce development for Agile Team
Strategy to setup Subversion for Salesforce development for Agile Team
Buyan Thyagarajan
 
A successful Git branching model
A successful Git branching model A successful Git branching model
A successful Git branching model
abodeltae
 
Continuous Delivery in OSS using Shipkit.org
Continuous Delivery in OSS using Shipkit.orgContinuous Delivery in OSS using Shipkit.org
Continuous Delivery in OSS using Shipkit.org
MarcinStachniuk
 
[WroclawJUG] Continuous Delivery in OSS using Shipkit
[WroclawJUG] Continuous Delivery in OSS using Shipkit[WroclawJUG] Continuous Delivery in OSS using Shipkit
[WroclawJUG] Continuous Delivery in OSS using Shipkit
MarcinStachniuk
 
Software Quality Management of Opensource Project ( ubuntu and django )
Software Quality Management of Opensource Project ( ubuntu and django )Software Quality Management of Opensource Project ( ubuntu and django )
Software Quality Management of Opensource Project ( ubuntu and django )
uisp dsin
 
Webinar: Stop Midnight Release Madness!
Webinar: Stop Midnight Release Madness!Webinar: Stop Midnight Release Madness!
Webinar: Stop Midnight Release Madness!
XebiaLabs
 
Winter 15 : Salesforce
Winter 15 : SalesforceWinter 15 : Salesforce
Winter 15 : Salesforce
Jyothylakshmy P.U
 
Source code management with Git
Source code management with GitSource code management with Git
Source code management with Git
Radu Barbu
 
Sccm Interview Questions and Answers
Sccm Interview Questions and AnswersSccm Interview Questions and Answers
Sccm Interview Questions and Answers
KashifSCCMTrainer
 
Release Management Plan
Release Management PlanRelease Management Plan
Release Management Plan
Krishna Murthy RVN
 
Xen Project Release and Roadmap Process (4.7+)
Xen Project Release and Roadmap Process (4.7+)Xen Project Release and Roadmap Process (4.7+)
Xen Project Release and Roadmap Process (4.7+)
The Linux Foundation
 
309675745
309675745309675745
309675745
Navin Somal
 
sap fico implementation project phase pd
sap fico implementation project phase pdsap fico implementation project phase pd
sap fico implementation project phase pd
smanjunathreddy24
 
Oleksii Korshenko - Magento 2 Backwards Compatible Policy
Oleksii Korshenko - Magento 2 Backwards Compatible PolicyOleksii Korshenko - Magento 2 Backwards Compatible Policy
Oleksii Korshenko - Magento 2 Backwards Compatible Policy
Meet Magento Italy
 
Shirly Ronen - rapid release flow and agile testing-as
Shirly Ronen - rapid release flow and agile testing-asShirly Ronen - rapid release flow and agile testing-as
Shirly Ronen - rapid release flow and agile testing-as
AgileSparks
 
Application depolyment
Application depolymentApplication depolyment
Application depolyment
shriikantL
 
Sap hana client_installation_update_guide_en
Sap hana client_installation_update_guide_enSap hana client_installation_update_guide_en
Sap hana client_installation_update_guide_en
Shobha Nand Kumar
 
Mercury testing tool configuration guide 8085afc8-425c-2910-82bd-e87f551368ff
Mercury testing tool configuration guide   8085afc8-425c-2910-82bd-e87f551368ffMercury testing tool configuration guide   8085afc8-425c-2910-82bd-e87f551368ff
Mercury testing tool configuration guide 8085afc8-425c-2910-82bd-e87f551368ff
atulmud
 
A simplified Gitflow
A simplified GitflowA simplified Gitflow
A simplified Gitflow
Geshan Manandhar
 
Release With Maven
Release With MavenRelease With Maven
Release With Maven
eugenn
 
Strategy to setup Subversion for Salesforce development for Agile Team
Strategy to setup Subversion for Salesforce development for Agile TeamStrategy to setup Subversion for Salesforce development for Agile Team
Strategy to setup Subversion for Salesforce development for Agile Team
Buyan Thyagarajan
 
A successful Git branching model
A successful Git branching model A successful Git branching model
A successful Git branching model
abodeltae
 
Continuous Delivery in OSS using Shipkit.org
Continuous Delivery in OSS using Shipkit.orgContinuous Delivery in OSS using Shipkit.org
Continuous Delivery in OSS using Shipkit.org
MarcinStachniuk
 
[WroclawJUG] Continuous Delivery in OSS using Shipkit
[WroclawJUG] Continuous Delivery in OSS using Shipkit[WroclawJUG] Continuous Delivery in OSS using Shipkit
[WroclawJUG] Continuous Delivery in OSS using Shipkit
MarcinStachniuk
 
Software Quality Management of Opensource Project ( ubuntu and django )
Software Quality Management of Opensource Project ( ubuntu and django )Software Quality Management of Opensource Project ( ubuntu and django )
Software Quality Management of Opensource Project ( ubuntu and django )
uisp dsin
 
Webinar: Stop Midnight Release Madness!
Webinar: Stop Midnight Release Madness!Webinar: Stop Midnight Release Madness!
Webinar: Stop Midnight Release Madness!
XebiaLabs
 
Source code management with Git
Source code management with GitSource code management with Git
Source code management with Git
Radu Barbu
 
Sccm Interview Questions and Answers
Sccm Interview Questions and AnswersSccm Interview Questions and Answers
Sccm Interview Questions and Answers
KashifSCCMTrainer
 
Xen Project Release and Roadmap Process (4.7+)
Xen Project Release and Roadmap Process (4.7+)Xen Project Release and Roadmap Process (4.7+)
Xen Project Release and Roadmap Process (4.7+)
The Linux Foundation
 
sap fico implementation project phase pd
sap fico implementation project phase pdsap fico implementation project phase pd
sap fico implementation project phase pd
smanjunathreddy24
 
Oleksii Korshenko - Magento 2 Backwards Compatible Policy
Oleksii Korshenko - Magento 2 Backwards Compatible PolicyOleksii Korshenko - Magento 2 Backwards Compatible Policy
Oleksii Korshenko - Magento 2 Backwards Compatible Policy
Meet Magento Italy
 
Shirly Ronen - rapid release flow and agile testing-as
Shirly Ronen - rapid release flow and agile testing-asShirly Ronen - rapid release flow and agile testing-as
Shirly Ronen - rapid release flow and agile testing-as
AgileSparks
 
Application depolyment
Application depolymentApplication depolyment
Application depolyment
shriikantL
 
Sap hana client_installation_update_guide_en
Sap hana client_installation_update_guide_enSap hana client_installation_update_guide_en
Sap hana client_installation_update_guide_en
Shobha Nand Kumar
 
Mercury testing tool configuration guide 8085afc8-425c-2910-82bd-e87f551368ff
Mercury testing tool configuration guide   8085afc8-425c-2910-82bd-e87f551368ffMercury testing tool configuration guide   8085afc8-425c-2910-82bd-e87f551368ff
Mercury testing tool configuration guide 8085afc8-425c-2910-82bd-e87f551368ff
atulmud
 
Ad

Recently uploaded (20)

Exploring Code Comprehension in Scientific Programming: Preliminary Insight...
Exploring Code Comprehension  in Scientific Programming:  Preliminary Insight...Exploring Code Comprehension  in Scientific Programming:  Preliminary Insight...
Exploring Code Comprehension in Scientific Programming: Preliminary Insight...
University of Hawai‘i at Mānoa
 
Designing AI-Powered APIs on Azure: Best Practices& Considerations
Designing AI-Powered APIs on Azure: Best Practices& ConsiderationsDesigning AI-Powered APIs on Azure: Best Practices& Considerations
Designing AI-Powered APIs on Azure: Best Practices& Considerations
Dinusha Kumarasiri
 
Douwan Crack 2025 new verson+ License code
Douwan Crack 2025 new verson+ License codeDouwan Crack 2025 new verson+ License code
Douwan Crack 2025 new verson+ License code
aneelaramzan63
 
Get & Download Wondershare Filmora Crack Latest [2025]
Get & Download Wondershare Filmora Crack Latest [2025]Get & Download Wondershare Filmora Crack Latest [2025]
Get & Download Wondershare Filmora Crack Latest [2025]
saniaaftab72555
 
Salesforce Data Cloud- Hyperscale data platform, built for Salesforce.
Salesforce Data Cloud- Hyperscale data platform, built for Salesforce.Salesforce Data Cloud- Hyperscale data platform, built for Salesforce.
Salesforce Data Cloud- Hyperscale data platform, built for Salesforce.
Dele Amefo
 
Scaling GraphRAG: Efficient Knowledge Retrieval for Enterprise AI
Scaling GraphRAG:  Efficient Knowledge Retrieval for Enterprise AIScaling GraphRAG:  Efficient Knowledge Retrieval for Enterprise AI
Scaling GraphRAG: Efficient Knowledge Retrieval for Enterprise AI
danshalev
 
PDF Reader Pro Crack Latest Version FREE Download 2025
PDF Reader Pro Crack Latest Version FREE Download 2025PDF Reader Pro Crack Latest Version FREE Download 2025
PDF Reader Pro Crack Latest Version FREE Download 2025
mu394968
 
Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...
Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...
Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...
Ranjan Baisak
 
Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...
Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...
Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...
AxisTechnolabs
 
Expand your AI adoption with AgentExchange
Expand your AI adoption with AgentExchangeExpand your AI adoption with AgentExchange
Expand your AI adoption with AgentExchange
Fexle Services Pvt. Ltd.
 
Exploring Wayland: A Modern Display Server for the Future
Exploring Wayland: A Modern Display Server for the FutureExploring Wayland: A Modern Display Server for the Future
Exploring Wayland: A Modern Display Server for the Future
ICS
 
Solidworks Crack 2025 latest new + license code
Solidworks Crack 2025 latest new + license codeSolidworks Crack 2025 latest new + license code
Solidworks Crack 2025 latest new + license code
aneelaramzan63
 
Avast Premium Security Crack FREE Latest Version 2025
Avast Premium Security Crack FREE Latest Version 2025Avast Premium Security Crack FREE Latest Version 2025
Avast Premium Security Crack FREE Latest Version 2025
mu394968
 
EASEUS Partition Master Crack + License Code
EASEUS Partition Master Crack + License CodeEASEUS Partition Master Crack + License Code
EASEUS Partition Master Crack + License Code
aneelaramzan63
 
How to Batch Export Lotus Notes NSF Emails to Outlook PST Easily?
How to Batch Export Lotus Notes NSF Emails to Outlook PST Easily?How to Batch Export Lotus Notes NSF Emails to Outlook PST Easily?
How to Batch Export Lotus Notes NSF Emails to Outlook PST Easily?
steaveroggers
 
Meet the Agents: How AI Is Learning to Think, Plan, and Collaborate
Meet the Agents: How AI Is Learning to Think, Plan, and CollaborateMeet the Agents: How AI Is Learning to Think, Plan, and Collaborate
Meet the Agents: How AI Is Learning to Think, Plan, and Collaborate
Maxim Salnikov
 
Kubernetes_101_Zero_to_Platform_Engineer.pptx
Kubernetes_101_Zero_to_Platform_Engineer.pptxKubernetes_101_Zero_to_Platform_Engineer.pptx
Kubernetes_101_Zero_to_Platform_Engineer.pptx
CloudScouts
 
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
Andre Hora
 
Revolutionizing Residential Wi-Fi PPT.pptx
Revolutionizing Residential Wi-Fi PPT.pptxRevolutionizing Residential Wi-Fi PPT.pptx
Revolutionizing Residential Wi-Fi PPT.pptx
nidhisingh691197
 
F-Secure Freedome VPN 2025 Crack Plus Activation New Version
F-Secure Freedome VPN 2025 Crack Plus Activation  New VersionF-Secure Freedome VPN 2025 Crack Plus Activation  New Version
F-Secure Freedome VPN 2025 Crack Plus Activation New Version
saimabibi60507
 
Exploring Code Comprehension in Scientific Programming: Preliminary Insight...
Exploring Code Comprehension  in Scientific Programming:  Preliminary Insight...Exploring Code Comprehension  in Scientific Programming:  Preliminary Insight...
Exploring Code Comprehension in Scientific Programming: Preliminary Insight...
University of Hawai‘i at Mānoa
 
Designing AI-Powered APIs on Azure: Best Practices& Considerations
Designing AI-Powered APIs on Azure: Best Practices& ConsiderationsDesigning AI-Powered APIs on Azure: Best Practices& Considerations
Designing AI-Powered APIs on Azure: Best Practices& Considerations
Dinusha Kumarasiri
 
Douwan Crack 2025 new verson+ License code
Douwan Crack 2025 new verson+ License codeDouwan Crack 2025 new verson+ License code
Douwan Crack 2025 new verson+ License code
aneelaramzan63
 
Get & Download Wondershare Filmora Crack Latest [2025]
Get & Download Wondershare Filmora Crack Latest [2025]Get & Download Wondershare Filmora Crack Latest [2025]
Get & Download Wondershare Filmora Crack Latest [2025]
saniaaftab72555
 
Salesforce Data Cloud- Hyperscale data platform, built for Salesforce.
Salesforce Data Cloud- Hyperscale data platform, built for Salesforce.Salesforce Data Cloud- Hyperscale data platform, built for Salesforce.
Salesforce Data Cloud- Hyperscale data platform, built for Salesforce.
Dele Amefo
 
Scaling GraphRAG: Efficient Knowledge Retrieval for Enterprise AI
Scaling GraphRAG:  Efficient Knowledge Retrieval for Enterprise AIScaling GraphRAG:  Efficient Knowledge Retrieval for Enterprise AI
Scaling GraphRAG: Efficient Knowledge Retrieval for Enterprise AI
danshalev
 
PDF Reader Pro Crack Latest Version FREE Download 2025
PDF Reader Pro Crack Latest Version FREE Download 2025PDF Reader Pro Crack Latest Version FREE Download 2025
PDF Reader Pro Crack Latest Version FREE Download 2025
mu394968
 
Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...
Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...
Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...
Ranjan Baisak
 
Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...
Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...
Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...
AxisTechnolabs
 
Expand your AI adoption with AgentExchange
Expand your AI adoption with AgentExchangeExpand your AI adoption with AgentExchange
Expand your AI adoption with AgentExchange
Fexle Services Pvt. Ltd.
 
Exploring Wayland: A Modern Display Server for the Future
Exploring Wayland: A Modern Display Server for the FutureExploring Wayland: A Modern Display Server for the Future
Exploring Wayland: A Modern Display Server for the Future
ICS
 
Solidworks Crack 2025 latest new + license code
Solidworks Crack 2025 latest new + license codeSolidworks Crack 2025 latest new + license code
Solidworks Crack 2025 latest new + license code
aneelaramzan63
 
Avast Premium Security Crack FREE Latest Version 2025
Avast Premium Security Crack FREE Latest Version 2025Avast Premium Security Crack FREE Latest Version 2025
Avast Premium Security Crack FREE Latest Version 2025
mu394968
 
EASEUS Partition Master Crack + License Code
EASEUS Partition Master Crack + License CodeEASEUS Partition Master Crack + License Code
EASEUS Partition Master Crack + License Code
aneelaramzan63
 
How to Batch Export Lotus Notes NSF Emails to Outlook PST Easily?
How to Batch Export Lotus Notes NSF Emails to Outlook PST Easily?How to Batch Export Lotus Notes NSF Emails to Outlook PST Easily?
How to Batch Export Lotus Notes NSF Emails to Outlook PST Easily?
steaveroggers
 
Meet the Agents: How AI Is Learning to Think, Plan, and Collaborate
Meet the Agents: How AI Is Learning to Think, Plan, and CollaborateMeet the Agents: How AI Is Learning to Think, Plan, and Collaborate
Meet the Agents: How AI Is Learning to Think, Plan, and Collaborate
Maxim Salnikov
 
Kubernetes_101_Zero_to_Platform_Engineer.pptx
Kubernetes_101_Zero_to_Platform_Engineer.pptxKubernetes_101_Zero_to_Platform_Engineer.pptx
Kubernetes_101_Zero_to_Platform_Engineer.pptx
CloudScouts
 
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
Andre Hora
 
Revolutionizing Residential Wi-Fi PPT.pptx
Revolutionizing Residential Wi-Fi PPT.pptxRevolutionizing Residential Wi-Fi PPT.pptx
Revolutionizing Residential Wi-Fi PPT.pptx
nidhisingh691197
 
F-Secure Freedome VPN 2025 Crack Plus Activation New Version
F-Secure Freedome VPN 2025 Crack Plus Activation  New VersionF-Secure Freedome VPN 2025 Crack Plus Activation  New Version
F-Secure Freedome VPN 2025 Crack Plus Activation New Version
saimabibi60507
 
Ad

Branching and merging strategy

  • 1. Page 1 of 4 Branching & Merging Strategy. Date 19th Dec 2016 Author Rahul Janghel Version 1.0.0 1. Objective: Build a better Branching and merge policy which will provide: 1.1 Single Master model with :  Stable and Clean Master Branch.  Release-ready code on Master Branch. 1.2 Defined Branch-forking practice. 1.3 Predictable :  Sprint / Feature Branch Name  POMVersion  Branch for Feature / fix Release, along with feature / fix release sequence.  Source branch to fork a feature / fix branch  Destination branch to receive feature / fix. 1.4 Independent branch per :  Sprint  Feature  Fix. 1.5 Stable upstream branch. 2. Define Branching Architecture : 2.1 Branch Naming Convention : <Sprint Version>.<Major Release>.<Minor Release>.<Feature / Fix Branch> - Sprint started at 1st Oct 2016 may have a Sprint Version as 2016_Q4.1.0 - Sprint Version could be anything between 2016_Q4.1.0 to 2016_Q4.9.99 - Branch Version will be always an incremental number. - Week number of calendar month will not get consider. 2.2 Sprint and release branch naming convention: - Create Sprint Branch with name “2016_Q4.0.0” in sprint period of “2016-Q4”. - Branch Naming Scheme under Sprint “2016-Q4” :  1st major release : “2016-Q4.1.0”  1st minor release under 1st major release : “2016-Q4.1.1”  2nd major release : “2016-Q4.2.0”  1st minor release under 2nd major release : “2016-Q4.2.1” 2.3 Feature branch naming convention: - In sprint period of “2016-Q4”, Developer shouldcreate feature / fix branch name as “2016_Q4.0.0-feature_number”.
  • 2. Page 2 of 4 - Feature Branch Naming Scheme under Sprint “2016-Q4” :  Feature / fix branch name under 1st major release: “2016-Q4.1.0-feature_number”.  Feature / fix branch name under 1st minor release : “2016-Q4.1.1-feature_number”  Feature / fix branch name under 2nd major release: “2016-Q4.2.0-feature_number”.  Feature / fix branch name under 2nd minor release : “2016-Q4.2.1-feature_number” 2.4 Release Branch naming convention: - For Sprint period “2016-Q4”, Release Branch name should be :  “2016_Q4.0.0_RC” 2.5 POM version convention: - In sprintperiodof “2016-Q4”, POMversioningshouldbe like, (If using SNAPSHOT) :  1st major release branch POMVersion : “2016-Q4.1.0-SNAPSHOT”  1st minor release branch POMVersion : “2016-Q4.1.1-SNAPSHOT”  2nd major release branch POMVersion : “2016-Q4.2.0-SNAPSHOT”  2nd minor release branch POMVersion : “2016-Q4.2.1-SNAPSHOT”  Feature / fix branch POMVersion under X major & Y minor release: “2016-Q4.X.Y-feature_number-SNAPSHOT”.  For Release Branch “2016_Q4.0.0_RC” POMVersion : “2016_Q4.0.0” 2.6 Release Branch Tag name scheme : - For Sprint period “2016-Q4”, Release Branch “2016_Q4.0.0_RC” should get tag as  “2016_Q4.0.0_RC_Release-Date” 3. Branching Process flow : 3.1 Sprint Branch creation work flow : - Ensure Master Branch has all updates from last Sprint Release Branch.  Check master branch has same commit ID as last Sprint Release Branch.  Last Sprint Release Branch is tagged after successful Production / QA / QA release. - Create ticket / send mail to DevOps team to create a Sprint branch from master. - Update Sprint version in all POMfiles. - Ensure approved naming scheme is followed for branch creation and POMfiles. - Execute Integrationtest,code coverage shouldmeet minimum passing percentage. - Inform all developers upon new Sprint branch status.  Mention new branch’s name.  POMfile version  Suggest name of first feature branch for current sprint.
  • 3. Page 3 of 4 3.2 Feature / Fix Branch creation work flow : - Create ticket / send mail to DevOps team to create a feature branch. - Ensure Feature Branch has been created from sprint branch. - Update feature branch POMversion in all POM.xml files. - Ensure approved naming scheme is followed while crating feature branch and updating POMfiles. - Inform all developers upon new feature branch status  Mention new feature branch’s name.  Feature Branch POMfile version 3.3 Release Branch creation work flow : - Call for Code Freeze 2 days prior to Production / QA / QA Release. - Insure all feature / fix branch is merged to Sprint Branch. - Take a signed off from QA team on existing fix committed in Sprint Branch. - Create ticket / send mail to DevOps team to create a Release branch. - Ensure all POMfiles is following approved naming scheme for POMversion. - Ensure direct commit to Release Branch is blocked. 4. Branch Merge Process flow : - Ensure Master and Sprint Branch is protected from direct Commit. - To update Sprint branch from feature branch, create a pull request. - Onlyaftersuccessfullypassingcode review criteria,merge buttonshouldgetenable. - For Production / QA / QA / QA release, create ticket / send mail to DevOps team to merge Master Branch into Release Branch. - Ensure all POMfiles is following approved naming scheme for POMversion. - Run all unit test and Integration test suite on Release Branch. - Use Release Branch artifacts for Production / QA / QA / QA Release. - Ensure Production/QA / QA / QA environmentissuccessfullydeployedfromRelease Branch. - Tag Release Branch. - Create ticket / send mail to DevOps team to merge Master Branch into Release Branch. 5. Use of Branch to Deploy on various environment : - Use Sprint Branch to Deploy on QA / Dev environment.  At least once every day. - Use Feature / Fix Branch to deploy on Dev environment.  Multiple time or as require every day. - Use Release Branch to deploy on Staging / UAT / Preprod environment.  After code freeze  Before Production / QA / QA release.
  • 4. Page 4 of 4 6. Release Branch update flow (Post Code Freeze) : - Ask Developer to create ticket / send mail to Sprint Owner, seeking approval. - Attach Unit test report along with request. - Open Pull request for code review and merge into Release Branch. - Run all unit test and Integration test suite on Release Branch. - Use Release Branch to deploy on Staging / UAT / Preprod environment. - Merge Release branch into Master branch. 7. Production / QA / QA Release & Hot fix Deployment : - AfterregresstestingonUAT & Preprodenvironment,share reportswithBA & Sprint Master and take signoff. - Use Release Branch artifacts to Deploy over Production / QA / QA Environment. - In case of any bug/ issue /hotfix release, from Master branch create new branch as  For 1st major release : “2016-Q4.1.0”  For 1st minor release under 1st major release : “2016-Q4.1.1” - Use fix branch artifacts to Deploy over UAT / Preprod Environment and verify. - Use fix branch artifacts to Deploy over Production / QA / QA Environment. - Merge fix branch into master branch & next Sprint branch. --- EOD ---