Branch Management andAtomic Merge in a ContinuousIntegration EnvironmentYi Zhang and Ray ChangEMC Corporation© 2011
AGENDATHE ISSUES•  What’s Wrong?THE SOLUTIONS•  The New Branch and Defect Model•  The Atomic Merge Tool – Logical Flow•  I...
THE ISSUES – What’s wrong with this version tree?
THE ISSUES   •  Anarchic Branching   •  Merge-phobia, unable to merge   •  Tremendous loss in productivity   Stubborn and ...
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...
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    •  Merg...
THE SOLUTIONS – Integration with defect-tracking
THE SOLUTIONS – The atomic merge tool    A few more points:    • Web interface for ad hoc merge requests    • Integration ...
CONCLUSIONS   Achievements:   •  A set of branching and merging policies are established   and implemented   •  Atomic mer...
CONCLUSIONS   Remaining issues:   •  How to prevent merge-up?   •  “p4 integrate” doesn’t always recognize duplicated   ch...
QUESTIONS @ ANSWERS
Upcoming SlideShare
Loading in …5
×

Branch Management and Atomic Merge in a Continuous Integration Environment

1,108 views

Published on

Ensuring product quality and engineering productivity in an Agile environment with numerous concurrent branches can be challenging. In this presentation, Yi Zhang of EMC will share his team's branch management lessons and discuss the merge tool they've developed based on P4PERL. Hear how EMC leverages this tool to try and achieve great code quality and high engineering productivity at the same time.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,108
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
60
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Branch Management and Atomic Merge in a Continuous Integration Environment

  1. 1. Branch Management andAtomic Merge in a ContinuousIntegration EnvironmentYi Zhang and Ray ChangEMC Corporation© 2011
  2. 2. AGENDATHE ISSUES•  What’s Wrong?THE SOLUTIONS•  The New Branch and Defect Model•  The Atomic Merge Tool – Logical Flow•  Integration with Defect-TrackingCONCLUSIONS•  Achievements•  Remaining IssuesQ@A
  3. 3. THE ISSUES – What’s wrong with this version tree?
  4. 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. 5. THE SOLUTIONS – New Branch Model•  The branch model and naming conventions
  6. 6. THE SOLUTIONS – New Defect Model•  The defect model and Perforce directory structure
  7. 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. 8. THE SOLUTIONS – The atomic merge tool•  Logical flow chart of the merge tool
  9. 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. 10. THE SOLUTIONS – Integration with defect-tracking
  11. 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. 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. 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.
  14. 14. QUESTIONS @ ANSWERS

×