Flying at the Speed of Git
Upcoming SlideShare
Loading in...5

Flying at the Speed of Git






Total Views
Views on SlideShare
Embed Views



5 Embeds 260 240 10 4 4 2



Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

Flying at the Speed of Git Flying at the Speed of Git Presentation Transcript

  • Flying at the Speed of Git Alex Holtz, Senior Engineer
  • Orbitz Worldwide Brands 18M Visitors / mo. $11.5B Bookings 1,500 Employees 140+ Countries 16 Languages
  • Orbitz operates Worldwide Hundreds of developers in offices globally Chicago, London, India, Sydney, Argentina 3
  • The prospect of switching to Git doesn’t need to feel like this! Your VCS Git 6
  • It’s a lot more like this! 1: Migration: Easier than you think 2: All about choosing the right tools 3: Fast
  • Orbitz’ Source Control History 50 dev teams CVS 2000-2006 Commercial VCS Git 2012+ 2006-2012 597 repositories 8
  • Why Switch? Not using Git... slowing us down 9
  • Overcoming Inertia Progressive teams Were running Git on their own servers Git? Git Champions Guided the process from start to finish Internal buzz For Git was high 10
  • Where Do You Start? “Git in the Enterprise: Not Just Git” Gitorious 11
  • Importing History to Git Leverage git fast-import for transferring VCS history Au VCS .2 g Mar. 12 0 Oct. 2 009 Git 2013 an J . 1 01 2 12
  • How We Switched Champions built new tools and were early adopters Existing VCS Release Scripts Git Dependency Resolution and Artifact Repository Jenkins 13
  • Tools in Orbitz’ Build Chain Interface to Source Tools for Publishing and Releasing Dependencies / Artifacts Commercial VCS Proprietary CLI Proprietary GUI Custom Ruby Scripts Apache, Custom Rails application Git CLI, IDEs, SourceTree, many more! Jenkins (open source) Artifactory (open source) 14
  • Training We held training, not on Git, but Git at Orbitz Videos 15
  • Approaching the Migration on a Repo-by-repo Basis 30 minutes = Good Luck! + ...most of the time. Tools Docs ...we also helped as needed. 16
  • 597 Repositories in a Proprietary System Over 100 GB Closed 180 Deprecated 88 Migrated 329 = 20 GB in Git 17
  • Timeline • Sep 2011: Tool evaluation (Gitorious vs. GitHub) • Mar 2012: Building migration tools and testing • Jun 2012: Migrations are in full swing, several teams migrate every week • Aug 2012: Final repos are migrated and our old system is now read-only Just 11 months from start to finish! 18
  • Costs A mere 2500 man hours Decreased license costs will pay for the entire migration in less than a year. 19
  • Improvements Already Demonstrated 20% Faster Builds Remote teams are saying: “Amazing performance improvement...” “ did we pull this off so quickly?” Self-service 20
  • Why We Love Git! Distributed Equal performance regardless of location — internet optional Cheaper, faster, less administration Thanks to open source and self-service No more custom integration! Everybody ships new tools with native Git support 21
  • Things We Wish We had Done Better NFS and Hard Links are not buddies! dev fork 200 MB ~400 repositories 20 GB dev fork dev fork dev fork master dev fork dev fork 1200 MB ~3000 developer forks 80 GB 22
  • How Stash Approaches Storage for Forks Stash uses “Git Alternates” to share object space between repos Parent Fork B --- --- Fork A --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- 23
  • Hindsight is 20/20 What was easy Locking and moving repos one at a time What was hard The same process for mega repos and some of our deployment tools were tightly coupled to our VCS Migrating history Was useful for some, but not as standard process 24
  • In the Last Year... because of Stash Hooks: Automated SOX controls Automated deployments 25
  • Rate this Talk Flying at the Speed of Git Text code below to 22333 or visit MEH = 41 NO T BA D = 42 P R ET T Y GO O D = 43 A WES O ME = 44 To join this session, send text 136888 to 22333