SlideShare una empresa de Scribd logo
1 de 14
Descargar para leer sin conexión
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

Más contenido relacionado

La actualidad más candente

Digital Testing Approach
Digital Testing ApproachDigital Testing Approach
Digital Testing ApproachAnand 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 ApproachNorma 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/2016Puppet
 
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
 
ALM@Work - Continuous delivery 101
ALM@Work - Continuous delivery 101ALM@Work - Continuous delivery 101
ALM@Work - Continuous delivery 101DomusDotNet
 
Intro to PE 01/15/2016
Intro to PE 01/15/2016Intro to PE 01/15/2016
Intro to PE 01/15/2016Puppet
 
Performance Value Brief
Performance Value BriefPerformance Value Brief
Performance Value BriefJeffrey Nunn
 
Firmware Application Test Automation
Firmware Application Test AutomationFirmware Application Test Automation
Firmware Application Test AutomationIndium Software
 
Modernising Change Management with Enterprise DevOps
Modernising Change Management with Enterprise DevOpsModernising Change Management with Enterprise DevOps
Modernising Change Management with Enterprise DevOpsPuppet
 
Shifting Left Using Sauce Analytics
Shifting Left Using Sauce AnalyticsShifting Left Using Sauce Analytics
Shifting Left Using Sauce AnalyticsSauce 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/2016Puppet
 
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.1panayaofficial
 
Automation in the world of project
Automation  in the world of projectAutomation  in the world of project
Automation in the world of projectZbyszek 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 testingASIT 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 indianapolisPeter Varhol
 

La actualidad más candente (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 a 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 ownershipStephen 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 ServiceITSM 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 BeyondSteve 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 Studiesmeritweb
 
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 InnovationSmart 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 LifecycleLee 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 SuccessLee 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 worldDevOps 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 ROIDevOps 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
 
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 reviewMuhammad Ahmad
 
Improving the Design of Existing Software
Improving the Design of Existing SoftwareImproving the Design of Existing Software
Improving the Design of Existing SoftwareSteven Smith
 
Improving the Quality of Existing Software
Improving the Quality of Existing SoftwareImproving the Quality of Existing Software
Improving the Quality of Existing SoftwareSteven 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 a 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...
 

Más de 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 NeedsPerforce
 
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 SOPsPerforce
 
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 ProcessPerforce
 
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 DevOpsPerforce
 
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 WorkflowPerforce
 
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 WorldPerforce
 
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 EnterprisePerforce
 
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 ALMPerforce
 
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 2Perforce
 
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.4Perforce
 
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
 

Más de 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
 

Último

GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
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
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
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
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
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
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
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
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 

Último (20)

GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
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
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
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
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.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
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 

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.