SlideShare a Scribd company logo
Branch Management and
Atomic Merge in a Continuous
Integration Environment
Yi Zhang and Ray Chang
EMC Corporation

© 2011
AGENDA

THE ISSUES
•  What’s Wrong?

THE SOLUTIONS
•  The New Branch and Defect Model
•  The Atomic Merge Tool – Logical Flow
•  Integration with Defect-Tracking

CONCLUSIONS
•  Achievements
•  Remaining Issues

Q@A
THE ISSUES – What’s wrong with this version tree?
THE ISSUES


   •  Anarchic Branching
   •  Merge-phobia, unable to merge
   •  Tremendous loss in productivity

   Stubborn and egregiously harmful institutional habits
   formed over the years. Migrating to continuous
   integration exacerbated the issues.
THE SOLUTIONS – New Branch Model


•  The branch model and naming conventions
THE SOLUTIONS – New Defect Model


•  The defect model and Perforce directory structure
THE SOLUTIONS – The merge tool


    •  No significant change in merge habit
    •  Improvement limited on the Defect-tracking side
    •  Divergent branches still an issue



    Based on “p4 integrate” of P4PERL, implemented an
    auto-merge tool to merge daily atomically among
    branches.
THE SOLUTIONS – The atomic merge tool

•  Logical flow chart of the merge tool
THE SOLUTIONS – The atomic merge tool



    A few assumptions:

    •  Changelist restricted within a project branch
    •  Merge occurred among the tips
    •  Exclusions override the atomic rule
THE SOLUTIONS – Integration with defect-tracking
THE SOLUTIONS – The atomic merge tool


    A few more points:

    • Web interface for ad hoc merge requests
    • Integration with the continuous integration tool
    • Running quality tool as a step of post-merge verification
CONCLUSIONS



   Achievements:

   •  A set of branching and merging policies are established
   and implemented
   •  Atomic merge tool is successfully adopted by many
   teams and sites
   •  Over 95% of automatic merge rate, significantly
   reduced manual work and enhanced productivity
CONCLUSIONS



   Remaining issues:

   •  How to prevent merge-up?
   •  “p4 integrate” doesn’t always recognize duplicated
   check-ins.
   •  Significant number of project teams not on board yet.
QUESTIONS @ ANSWERS

More Related Content

What's hot

Digital Testing Approach
Digital Testing ApproachDigital Testing Approach
Digital Testing Approach
Anand Deshpande
 
Lean Six Sigma - Green Belt, A Blended Approach
Lean Six Sigma - Green Belt, A Blended ApproachLean Six Sigma - Green Belt, A Blended Approach
Lean Six Sigma - Green Belt, A Blended Approach
Norma Simons
 
Introduction to Puppet Enterprise- 01/19/2016
Introduction to Puppet Enterprise- 01/19/2016Introduction to Puppet Enterprise- 01/19/2016
Introduction to Puppet Enterprise- 01/19/2016
Puppet
 
Scrum_BLR 9th meet up 28-Jun-2014 - Continuous Delivery for Fast and Consiste...
Scrum_BLR 9th meet up 28-Jun-2014 - Continuous Delivery for Fast and Consiste...Scrum_BLR 9th meet up 28-Jun-2014 - Continuous Delivery for Fast and Consiste...
Scrum_BLR 9th meet up 28-Jun-2014 - Continuous Delivery for Fast and Consiste...Scrum Bangalore
 
From mini waterfall to scrum
From mini waterfall to scrumFrom mini waterfall to scrum
From mini waterfall to scrum
Nick Meggoudis, PSM
 
ALM@Work - Continuous delivery 101
ALM@Work - Continuous delivery 101ALM@Work - Continuous delivery 101
ALM@Work - Continuous delivery 101
DomusDotNet
 
Intro to PE 01/15/2016
Intro to PE 01/15/2016Intro to PE 01/15/2016
Intro to PE 01/15/2016
Puppet
 
Performance Value Brief
Performance Value BriefPerformance Value Brief
Performance Value BriefJeffrey Nunn
 
Effective Agile Metrics, Cuneyt Gul
Effective Agile Metrics, Cuneyt GulEffective Agile Metrics, Cuneyt Gul
Effective Agile Metrics, Cuneyt Gul
Cüneyt Gül, PMP, PSM I
 
Firmware Application Test Automation
Firmware Application Test AutomationFirmware Application Test Automation
Firmware Application Test Automation
Indium Software
 
Modernising Change Management with Enterprise DevOps
Modernising Change Management with Enterprise DevOpsModernising Change Management with Enterprise DevOps
Modernising Change Management with Enterprise DevOps
Puppet
 
Shifting Left Using Sauce Analytics
Shifting Left Using Sauce AnalyticsShifting Left Using Sauce Analytics
Shifting Left Using Sauce Analytics
Sauce Labs
 
Introduction to Puppet Enterprise- 03/03/2016
Introduction to Puppet Enterprise- 03/03/2016Introduction to Puppet Enterprise- 03/03/2016
Introduction to Puppet Enterprise- 03/03/2016
Puppet
 
Tips and tricks for successful uat testing 2.1
Tips and tricks for successful uat testing 2.1Tips and tricks for successful uat testing 2.1
Tips and tricks for successful uat testing 2.1
panayaofficial
 
Automation in the world of project
Automation  in the world of projectAutomation  in the world of project
Automation in the world of project
Zbyszek Mockun
 
StarWest2016_T24_ExploratoryAutomation_DawnJardine_Final
StarWest2016_T24_ExploratoryAutomation_DawnJardine_FinalStarWest2016_T24_ExploratoryAutomation_DawnJardine_Final
StarWest2016_T24_ExploratoryAutomation_DawnJardine_FinalDawn Jardine
 
The New EHS Performance - Based Paradigm: Enabling Operational Excellence wit...
The New EHS Performance - Based Paradigm: Enabling Operational Excellence wit...The New EHS Performance - Based Paradigm: Enabling Operational Excellence wit...
The New EHS Performance - Based Paradigm: Enabling Operational Excellence wit...
Intelex
 
Introduction to software testing
Introduction to software testingIntroduction to software testing
Introduction to software testing
ASIT Education
 
Introduction to Puppet Enterprise- UK (02/25/2016)
Introduction to Puppet Enterprise- UK (02/25/2016)Introduction to Puppet Enterprise- UK (02/25/2016)
Introduction to Puppet Enterprise- UK (02/25/2016)
Puppet
 
Digital transformation through devops dod indianapolis
Digital transformation through devops dod indianapolisDigital transformation through devops dod indianapolis
Digital transformation through devops dod indianapolis
Peter Varhol
 

What's hot (20)

Digital Testing Approach
Digital Testing ApproachDigital Testing Approach
Digital Testing Approach
 
Lean Six Sigma - Green Belt, A Blended Approach
Lean Six Sigma - Green Belt, A Blended ApproachLean Six Sigma - Green Belt, A Blended Approach
Lean Six Sigma - Green Belt, A Blended Approach
 
Introduction to Puppet Enterprise- 01/19/2016
Introduction to Puppet Enterprise- 01/19/2016Introduction to Puppet Enterprise- 01/19/2016
Introduction to Puppet Enterprise- 01/19/2016
 
Scrum_BLR 9th meet up 28-Jun-2014 - Continuous Delivery for Fast and Consiste...
Scrum_BLR 9th meet up 28-Jun-2014 - Continuous Delivery for Fast and Consiste...Scrum_BLR 9th meet up 28-Jun-2014 - Continuous Delivery for Fast and Consiste...
Scrum_BLR 9th meet up 28-Jun-2014 - Continuous Delivery for Fast and Consiste...
 
From mini waterfall to scrum
From mini waterfall to scrumFrom mini waterfall to scrum
From mini waterfall to scrum
 
ALM@Work - Continuous delivery 101
ALM@Work - Continuous delivery 101ALM@Work - Continuous delivery 101
ALM@Work - Continuous delivery 101
 
Intro to PE 01/15/2016
Intro to PE 01/15/2016Intro to PE 01/15/2016
Intro to PE 01/15/2016
 
Performance Value Brief
Performance Value BriefPerformance Value Brief
Performance Value Brief
 
Effective Agile Metrics, Cuneyt Gul
Effective Agile Metrics, Cuneyt GulEffective Agile Metrics, Cuneyt Gul
Effective Agile Metrics, Cuneyt Gul
 
Firmware Application Test Automation
Firmware Application Test AutomationFirmware Application Test Automation
Firmware Application Test Automation
 
Modernising Change Management with Enterprise DevOps
Modernising Change Management with Enterprise DevOpsModernising Change Management with Enterprise DevOps
Modernising Change Management with Enterprise DevOps
 
Shifting Left Using Sauce Analytics
Shifting Left Using Sauce AnalyticsShifting Left Using Sauce Analytics
Shifting Left Using Sauce Analytics
 
Introduction to Puppet Enterprise- 03/03/2016
Introduction to Puppet Enterprise- 03/03/2016Introduction to Puppet Enterprise- 03/03/2016
Introduction to Puppet Enterprise- 03/03/2016
 
Tips and tricks for successful uat testing 2.1
Tips and tricks for successful uat testing 2.1Tips and tricks for successful uat testing 2.1
Tips and tricks for successful uat testing 2.1
 
Automation in the world of project
Automation  in the world of projectAutomation  in the world of project
Automation in the world of project
 
StarWest2016_T24_ExploratoryAutomation_DawnJardine_Final
StarWest2016_T24_ExploratoryAutomation_DawnJardine_FinalStarWest2016_T24_ExploratoryAutomation_DawnJardine_Final
StarWest2016_T24_ExploratoryAutomation_DawnJardine_Final
 
The New EHS Performance - Based Paradigm: Enabling Operational Excellence wit...
The New EHS Performance - Based Paradigm: Enabling Operational Excellence wit...The New EHS Performance - Based Paradigm: Enabling Operational Excellence wit...
The New EHS Performance - Based Paradigm: Enabling Operational Excellence wit...
 
Introduction to software testing
Introduction to software testingIntroduction to software testing
Introduction to software testing
 
Introduction to Puppet Enterprise- UK (02/25/2016)
Introduction to Puppet Enterprise- UK (02/25/2016)Introduction to Puppet Enterprise- UK (02/25/2016)
Introduction to Puppet Enterprise- UK (02/25/2016)
 
Digital transformation through devops dod indianapolis
Digital transformation through devops dod indianapolisDigital transformation through devops dod indianapolis
Digital transformation through devops dod indianapolis
 

Similar to Branch Management and Atomic Merge in a Continuous Integration Environment

181015 plan maintainability in total cost of ownership
181015 plan maintainability in total cost of ownership181015 plan maintainability in total cost of ownership
181015 plan maintainability in total cost of ownership
Stephen Williamson
 
Agile Automotive (Final)
Agile Automotive (Final)Agile Automotive (Final)
Agile Automotive (Final)James Janisse
 
GLOC 2018: Automation or How We Eliminated Manual EBS R12.2 Upgrades and Beca...
GLOC 2018: Automation or How We Eliminated Manual EBS R12.2 Upgrades and Beca...GLOC 2018: Automation or How We Eliminated Manual EBS R12.2 Upgrades and Beca...
GLOC 2018: Automation or How We Eliminated Manual EBS R12.2 Upgrades and Beca...
ennVee TechnoGroup Inc
 
Lean Solutions – Agile Transformation at the United States Postal Service
Lean Solutions  – Agile Transformation at the United States Postal ServiceLean Solutions  – Agile Transformation at the United States Postal Service
Lean Solutions – Agile Transformation at the United States Postal Service
ITSM Academy, Inc.
 
Entity Framework: To the Unit of Work Design Pattern and Beyond
Entity Framework: To the Unit of Work Design Pattern and BeyondEntity Framework: To the Unit of Work Design Pattern and Beyond
Entity Framework: To the Unit of Work Design Pattern and Beyond
Steve Westgarth
 
Microsoft Dynamics AX Implementation Stabilization Case Studies
Microsoft Dynamics AX Implementation Stabilization Case StudiesMicrosoft Dynamics AX Implementation Stabilization Case Studies
Microsoft Dynamics AX Implementation Stabilization Case Studies
meritweb
 
Maximize your Oracle Cloud Investment and Drive Innovation
 Maximize your Oracle Cloud Investment and Drive Innovation Maximize your Oracle Cloud Investment and Drive Innovation
Maximize your Oracle Cloud Investment and Drive Innovation
Smart ERP Solutions, Inc.
 
Agile performance testing
Agile performance testingAgile performance testing
Agile performance testingAndriy Melnyk
 
Performance Testing in the Agile Lifecycle
Performance Testing in the Agile LifecyclePerformance Testing in the Agile Lifecycle
Performance Testing in the Agile Lifecycle
Lee Barnes
 
Extending and improving bps romania 30th of nov 2010
Extending and improving bps   romania 30th of nov 2010Extending and improving bps   romania 30th of nov 2010
Extending and improving bps romania 30th of nov 2010Doina Draganescu
 
Building a Test Automation Strategy for Success
Building a Test Automation Strategy for SuccessBuilding a Test Automation Strategy for Success
Building a Test Automation Strategy for Success
Lee Barnes
 
Lucas Gravley - HP - Self-Healing And Monitoring in a DevOps world
Lucas Gravley - HP - Self-Healing And Monitoring in a DevOps worldLucas Gravley - HP - Self-Healing And Monitoring in a DevOps world
Lucas Gravley - HP - Self-Healing And Monitoring in a DevOps world
DevOps Enterprise Summit
 
Quantifying DevOps Adoption Empirically for Demonstrable ROI
Quantifying DevOps Adoption Empirically for Demonstrable ROIQuantifying DevOps Adoption Empirically for Demonstrable ROI
Quantifying DevOps Adoption Empirically for Demonstrable ROI
DevOps for Enterprise Systems
 
[Customizable Template] How to Get Stakeholder Buy-In for a Toolchain Integra...
[Customizable Template] How to Get Stakeholder Buy-In for a Toolchain Integra...[Customizable Template] How to Get Stakeholder Buy-In for a Toolchain Integra...
[Customizable Template] How to Get Stakeholder Buy-In for a Toolchain Integra...
Planview
 
[Customizable Template] How to Get Stakeholder Buy-In for a Toolchain Integra...
[Customizable Template] How to Get Stakeholder Buy-In for a Toolchain Integra...[Customizable Template] How to Get Stakeholder Buy-In for a Toolchain Integra...
[Customizable Template] How to Get Stakeholder Buy-In for a Toolchain Integra...
Planview
 
[HCMC STC Jan 2015] Practical Experiences In Test Automation
[HCMC STC Jan 2015] Practical Experiences In Test Automation[HCMC STC Jan 2015] Practical Experiences In Test Automation
[HCMC STC Jan 2015] Practical Experiences In Test Automation
Ho Chi Minh City Software Testing Club
 
Kanban in software development: A systematic literature review
Kanban in software development: A systematic literature reviewKanban in software development: A systematic literature review
Kanban in software development: A systematic literature review
Muhammad Ahmad
 
Improving the Design of Existing Software
Improving the Design of Existing SoftwareImproving the Design of Existing Software
Improving the Design of Existing Software
Steven Smith
 
Improving the Quality of Existing Software
Improving the Quality of Existing SoftwareImproving the Quality of Existing Software
Improving the Quality of Existing Software
Steven Smith
 
DevOps Workshop - Addressing Quality Challenges of Highly Complex and Integra...
DevOps Workshop - Addressing Quality Challenges of Highly Complex and Integra...DevOps Workshop - Addressing Quality Challenges of Highly Complex and Integra...
DevOps Workshop - Addressing Quality Challenges of Highly Complex and Integra...
Andrew Williams
 

Similar to Branch Management and Atomic Merge in a Continuous Integration Environment (20)

181015 plan maintainability in total cost of ownership
181015 plan maintainability in total cost of ownership181015 plan maintainability in total cost of ownership
181015 plan maintainability in total cost of ownership
 
Agile Automotive (Final)
Agile Automotive (Final)Agile Automotive (Final)
Agile Automotive (Final)
 
GLOC 2018: Automation or How We Eliminated Manual EBS R12.2 Upgrades and Beca...
GLOC 2018: Automation or How We Eliminated Manual EBS R12.2 Upgrades and Beca...GLOC 2018: Automation or How We Eliminated Manual EBS R12.2 Upgrades and Beca...
GLOC 2018: Automation or How We Eliminated Manual EBS R12.2 Upgrades and Beca...
 
Lean Solutions – Agile Transformation at the United States Postal Service
Lean Solutions  – Agile Transformation at the United States Postal ServiceLean Solutions  – Agile Transformation at the United States Postal Service
Lean Solutions – Agile Transformation at the United States Postal Service
 
Entity Framework: To the Unit of Work Design Pattern and Beyond
Entity Framework: To the Unit of Work Design Pattern and BeyondEntity Framework: To the Unit of Work Design Pattern and Beyond
Entity Framework: To the Unit of Work Design Pattern and Beyond
 
Microsoft Dynamics AX Implementation Stabilization Case Studies
Microsoft Dynamics AX Implementation Stabilization Case StudiesMicrosoft Dynamics AX Implementation Stabilization Case Studies
Microsoft Dynamics AX Implementation Stabilization Case Studies
 
Maximize your Oracle Cloud Investment and Drive Innovation
 Maximize your Oracle Cloud Investment and Drive Innovation Maximize your Oracle Cloud Investment and Drive Innovation
Maximize your Oracle Cloud Investment and Drive Innovation
 
Agile performance testing
Agile performance testingAgile performance testing
Agile performance testing
 
Performance Testing in the Agile Lifecycle
Performance Testing in the Agile LifecyclePerformance Testing in the Agile Lifecycle
Performance Testing in the Agile Lifecycle
 
Extending and improving bps romania 30th of nov 2010
Extending and improving bps   romania 30th of nov 2010Extending and improving bps   romania 30th of nov 2010
Extending and improving bps romania 30th of nov 2010
 
Building a Test Automation Strategy for Success
Building a Test Automation Strategy for SuccessBuilding a Test Automation Strategy for Success
Building a Test Automation Strategy for Success
 
Lucas Gravley - HP - Self-Healing And Monitoring in a DevOps world
Lucas Gravley - HP - Self-Healing And Monitoring in a DevOps worldLucas Gravley - HP - Self-Healing And Monitoring in a DevOps world
Lucas Gravley - HP - Self-Healing And Monitoring in a DevOps world
 
Quantifying DevOps Adoption Empirically for Demonstrable ROI
Quantifying DevOps Adoption Empirically for Demonstrable ROIQuantifying DevOps Adoption Empirically for Demonstrable ROI
Quantifying DevOps Adoption Empirically for Demonstrable ROI
 
[Customizable Template] How to Get Stakeholder Buy-In for a Toolchain Integra...
[Customizable Template] How to Get Stakeholder Buy-In for a Toolchain Integra...[Customizable Template] How to Get Stakeholder Buy-In for a Toolchain Integra...
[Customizable Template] How to Get Stakeholder Buy-In for a Toolchain Integra...
 
[Customizable Template] How to Get Stakeholder Buy-In for a Toolchain Integra...
[Customizable Template] How to Get Stakeholder Buy-In for a Toolchain Integra...[Customizable Template] How to Get Stakeholder Buy-In for a Toolchain Integra...
[Customizable Template] How to Get Stakeholder Buy-In for a Toolchain Integra...
 
[HCMC STC Jan 2015] Practical Experiences In Test Automation
[HCMC STC Jan 2015] Practical Experiences In Test Automation[HCMC STC Jan 2015] Practical Experiences In Test Automation
[HCMC STC Jan 2015] Practical Experiences In Test Automation
 
Kanban in software development: A systematic literature review
Kanban in software development: A systematic literature reviewKanban in software development: A systematic literature review
Kanban in software development: A systematic literature review
 
Improving the Design of Existing Software
Improving the Design of Existing SoftwareImproving the Design of Existing Software
Improving the Design of Existing Software
 
Improving the Quality of Existing Software
Improving the Quality of Existing SoftwareImproving the Quality of Existing Software
Improving the Quality of Existing Software
 
DevOps Workshop - Addressing Quality Challenges of Highly Complex and Integra...
DevOps Workshop - Addressing Quality Challenges of Highly Complex and Integra...DevOps Workshop - Addressing Quality Challenges of Highly Complex and Integra...
DevOps Workshop - Addressing Quality Challenges of Highly Complex and Integra...
 

More from Perforce

How to Organize Game Developers With Different Planning Needs
How to Organize Game Developers With Different Planning NeedsHow to Organize Game Developers With Different Planning Needs
How to Organize Game Developers With Different Planning Needs
Perforce
 
Regulatory Traceability: How to Maintain Compliance, Quality, and Cost Effic...
Regulatory Traceability:  How to Maintain Compliance, Quality, and Cost Effic...Regulatory Traceability:  How to Maintain Compliance, Quality, and Cost Effic...
Regulatory Traceability: How to Maintain Compliance, Quality, and Cost Effic...
Perforce
 
Efficient Security Development and Testing Using Dynamic and Static Code Anal...
Efficient Security Development and Testing Using Dynamic and Static Code Anal...Efficient Security Development and Testing Using Dynamic and Static Code Anal...
Efficient Security Development and Testing Using Dynamic and Static Code Anal...
Perforce
 
Understanding Compliant Workflow Enforcement SOPs
Understanding Compliant Workflow Enforcement SOPsUnderstanding Compliant Workflow Enforcement SOPs
Understanding Compliant Workflow Enforcement SOPs
Perforce
 
Branching Out: How To Automate Your Development Process
Branching Out: How To Automate Your Development ProcessBranching Out: How To Automate Your Development Process
Branching Out: How To Automate Your Development Process
Perforce
 
How to Do Code Reviews at Massive Scale For DevOps
How to Do Code Reviews at Massive Scale For DevOpsHow to Do Code Reviews at Massive Scale For DevOps
How to Do Code Reviews at Massive Scale For DevOps
Perforce
 
How to Spark Joy In Your Product Backlog
How to Spark Joy In Your Product Backlog How to Spark Joy In Your Product Backlog
How to Spark Joy In Your Product Backlog
Perforce
 
Going Remote: Build Up Your Game Dev Team
Going Remote: Build Up Your Game Dev Team Going Remote: Build Up Your Game Dev Team
Going Remote: Build Up Your Game Dev Team
Perforce
 
Shift to Remote: How to Manage Your New Workflow
Shift to Remote: How to Manage Your New WorkflowShift to Remote: How to Manage Your New Workflow
Shift to Remote: How to Manage Your New Workflow
Perforce
 
Hybrid Development Methodology in a Regulated World
Hybrid Development Methodology in a Regulated WorldHybrid Development Methodology in a Regulated World
Hybrid Development Methodology in a Regulated World
Perforce
 
Better, Faster, Easier: How to Make Git Really Work in the Enterprise
Better, Faster, Easier: How to Make Git Really Work in the EnterpriseBetter, Faster, Easier: How to Make Git Really Work in the Enterprise
Better, Faster, Easier: How to Make Git Really Work in the Enterprise
Perforce
 
Easier Requirements Management Using Diagrams In Helix ALM
Easier Requirements Management Using Diagrams In Helix ALMEasier Requirements Management Using Diagrams In Helix ALM
Easier Requirements Management Using Diagrams In Helix ALM
Perforce
 
How To Master Your Mega Backlog
How To Master Your Mega Backlog How To Master Your Mega Backlog
How To Master Your Mega Backlog
Perforce
 
Achieving Software Safety, Security, and Reliability Part 3: What Does the Fu...
Achieving Software Safety, Security, and Reliability Part 3: What Does the Fu...Achieving Software Safety, Security, and Reliability Part 3: What Does the Fu...
Achieving Software Safety, Security, and Reliability Part 3: What Does the Fu...
Perforce
 
How to Scale With Helix Core and Microsoft Azure
How to Scale With Helix Core and Microsoft Azure How to Scale With Helix Core and Microsoft Azure
How to Scale With Helix Core and Microsoft Azure
Perforce
 
Achieving Software Safety, Security, and Reliability Part 2
Achieving Software Safety, Security, and Reliability Part 2Achieving Software Safety, Security, and Reliability Part 2
Achieving Software Safety, Security, and Reliability Part 2
Perforce
 
Should You Break Up With Your Monolith?
Should You Break Up With Your Monolith?Should You Break Up With Your Monolith?
Should You Break Up With Your Monolith?
Perforce
 
Achieving Software Safety, Security, and Reliability Part 1: Common Industry ...
Achieving Software Safety, Security, and Reliability Part 1: Common Industry ...Achieving Software Safety, Security, and Reliability Part 1: Common Industry ...
Achieving Software Safety, Security, and Reliability Part 1: Common Industry ...
Perforce
 
What's New in Helix ALM 2019.4
What's New in Helix ALM 2019.4What's New in Helix ALM 2019.4
What's New in Helix ALM 2019.4
Perforce
 
5 Ways to Accelerate Standards Compliance with Static Code Analysis
5 Ways to Accelerate Standards Compliance with Static Code Analysis 5 Ways to Accelerate Standards Compliance with Static Code Analysis
5 Ways to Accelerate Standards Compliance with Static Code Analysis
Perforce
 

More from Perforce (20)

How to Organize Game Developers With Different Planning Needs
How to Organize Game Developers With Different Planning NeedsHow to Organize Game Developers With Different Planning Needs
How to Organize Game Developers With Different Planning Needs
 
Regulatory Traceability: How to Maintain Compliance, Quality, and Cost Effic...
Regulatory Traceability:  How to Maintain Compliance, Quality, and Cost Effic...Regulatory Traceability:  How to Maintain Compliance, Quality, and Cost Effic...
Regulatory Traceability: How to Maintain Compliance, Quality, and Cost Effic...
 
Efficient Security Development and Testing Using Dynamic and Static Code Anal...
Efficient Security Development and Testing Using Dynamic and Static Code Anal...Efficient Security Development and Testing Using Dynamic and Static Code Anal...
Efficient Security Development and Testing Using Dynamic and Static Code Anal...
 
Understanding Compliant Workflow Enforcement SOPs
Understanding Compliant Workflow Enforcement SOPsUnderstanding Compliant Workflow Enforcement SOPs
Understanding Compliant Workflow Enforcement SOPs
 
Branching Out: How To Automate Your Development Process
Branching Out: How To Automate Your Development ProcessBranching Out: How To Automate Your Development Process
Branching Out: How To Automate Your Development Process
 
How to Do Code Reviews at Massive Scale For DevOps
How to Do Code Reviews at Massive Scale For DevOpsHow to Do Code Reviews at Massive Scale For DevOps
How to Do Code Reviews at Massive Scale For DevOps
 
How to Spark Joy In Your Product Backlog
How to Spark Joy In Your Product Backlog How to Spark Joy In Your Product Backlog
How to Spark Joy In Your Product Backlog
 
Going Remote: Build Up Your Game Dev Team
Going Remote: Build Up Your Game Dev Team Going Remote: Build Up Your Game Dev Team
Going Remote: Build Up Your Game Dev Team
 
Shift to Remote: How to Manage Your New Workflow
Shift to Remote: How to Manage Your New WorkflowShift to Remote: How to Manage Your New Workflow
Shift to Remote: How to Manage Your New Workflow
 
Hybrid Development Methodology in a Regulated World
Hybrid Development Methodology in a Regulated WorldHybrid Development Methodology in a Regulated World
Hybrid Development Methodology in a Regulated World
 
Better, Faster, Easier: How to Make Git Really Work in the Enterprise
Better, Faster, Easier: How to Make Git Really Work in the EnterpriseBetter, Faster, Easier: How to Make Git Really Work in the Enterprise
Better, Faster, Easier: How to Make Git Really Work in the Enterprise
 
Easier Requirements Management Using Diagrams In Helix ALM
Easier Requirements Management Using Diagrams In Helix ALMEasier Requirements Management Using Diagrams In Helix ALM
Easier Requirements Management Using Diagrams In Helix ALM
 
How To Master Your Mega Backlog
How To Master Your Mega Backlog How To Master Your Mega Backlog
How To Master Your Mega Backlog
 
Achieving Software Safety, Security, and Reliability Part 3: What Does the Fu...
Achieving Software Safety, Security, and Reliability Part 3: What Does the Fu...Achieving Software Safety, Security, and Reliability Part 3: What Does the Fu...
Achieving Software Safety, Security, and Reliability Part 3: What Does the Fu...
 
How to Scale With Helix Core and Microsoft Azure
How to Scale With Helix Core and Microsoft Azure How to Scale With Helix Core and Microsoft Azure
How to Scale With Helix Core and Microsoft Azure
 
Achieving Software Safety, Security, and Reliability Part 2
Achieving Software Safety, Security, and Reliability Part 2Achieving Software Safety, Security, and Reliability Part 2
Achieving Software Safety, Security, and Reliability Part 2
 
Should You Break Up With Your Monolith?
Should You Break Up With Your Monolith?Should You Break Up With Your Monolith?
Should You Break Up With Your Monolith?
 
Achieving Software Safety, Security, and Reliability Part 1: Common Industry ...
Achieving Software Safety, Security, and Reliability Part 1: Common Industry ...Achieving Software Safety, Security, and Reliability Part 1: Common Industry ...
Achieving Software Safety, Security, and Reliability Part 1: Common Industry ...
 
What's New in Helix ALM 2019.4
What's New in Helix ALM 2019.4What's New in Helix ALM 2019.4
What's New in Helix ALM 2019.4
 
5 Ways to Accelerate Standards Compliance with Static Code Analysis
5 Ways to Accelerate Standards Compliance with Static Code Analysis 5 Ways to Accelerate Standards Compliance with Static Code Analysis
5 Ways to Accelerate Standards Compliance with Static Code Analysis
 

Recently uploaded

GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
Neo4j
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
danishmna97
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
Neo4j
 
20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website
Pixlogix Infotech
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Malak Abu Hammad
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
Kumud Singh
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
DianaGray10
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
DianaGray10
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
Matthew Sinclair
 
Large Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial ApplicationsLarge Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial Applications
Rohit Gautam
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
Zilliz
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofszkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
Alex Pruden
 

Recently uploaded (20)

GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
 
20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
 
Large Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial ApplicationsLarge Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial Applications
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofszkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
 

Branch Management and Atomic Merge in a Continuous Integration Environment

  • 1. Branch Management and Atomic Merge in a Continuous Integration Environment Yi Zhang and Ray Chang EMC Corporation © 2011
  • 2. AGENDA THE ISSUES •  What’s Wrong? THE SOLUTIONS •  The New Branch and Defect Model •  The Atomic Merge Tool – Logical Flow •  Integration with Defect-Tracking CONCLUSIONS •  Achievements •  Remaining Issues Q@A
  • 3. THE ISSUES – What’s wrong with this version tree?
  • 4. THE ISSUES •  Anarchic Branching •  Merge-phobia, unable to merge •  Tremendous loss in productivity Stubborn and egregiously harmful institutional habits formed over the years. Migrating to continuous integration exacerbated the issues.
  • 5. THE SOLUTIONS – New Branch Model •  The branch model and naming conventions
  • 6. THE SOLUTIONS – New Defect Model •  The defect model and Perforce directory structure
  • 7. THE SOLUTIONS – The merge tool •  No significant change in merge habit •  Improvement limited on the Defect-tracking side •  Divergent branches still an issue Based on “p4 integrate” of P4PERL, implemented an auto-merge tool to merge daily atomically among branches.
  • 8. THE SOLUTIONS – The atomic merge tool •  Logical flow chart of the merge tool
  • 9. THE SOLUTIONS – The atomic merge tool A few assumptions: •  Changelist restricted within a project branch •  Merge occurred among the tips •  Exclusions override the atomic rule
  • 10. THE SOLUTIONS – Integration with defect-tracking
  • 11. THE SOLUTIONS – The atomic merge tool A few more points: • Web interface for ad hoc merge requests • Integration with the continuous integration tool • Running quality tool as a step of post-merge verification
  • 12. CONCLUSIONS Achievements: •  A set of branching and merging policies are established and implemented •  Atomic merge tool is successfully adopted by many teams and sites •  Over 95% of automatic merge rate, significantly reduced manual work and enhanced productivity
  • 13. CONCLUSIONS Remaining issues: •  How to prevent merge-up? •  “p4 integrate” doesn’t always recognize duplicated check-ins. •  Significant number of project teams not on board yet.