SCM/HGtoGit

From MozillaWiki
Jump to navigation Jump to search

Migrating from Hg to Git

This page summarizes the benefits, issues, and requirements in a migration from Mercurial (Hg) to Git. The material is grouped by role to allow people to view the information relevant to them. There are really two issues as part of this discussion: migration from Hg to Git and migration from Mozilla hosted systems to Github.

There are three primary roles that make use of Mozilla's source code management (SCM) systems: developers, release engineers, and IT system admins.

Developers

Benefits

  • Simplified onboarding for new contributors as Git is better known today than Hg
  • Git supports new workflows not supported by Hg
  • Mozilla currently makes use of Hg and Git, consolidation is easier for all devs
  • Better review tools (Gerrit) available for devs

Issues

  • Overhead in having a large number of people learn new tools
  • Do the Windows Git tools perform as well as the Hg tools?

Requirements

Release Engineers

joduinn stated that releng has no issues with a move to Git, does have issues with a move to third party hosting of Mozilla repos

Benefits

  • Simplified debugging (no longer have to debug Hg)
  • Simplified management as only one SCM system

Issues

  • Security of repo on hosted provider
  • Up-time of hosted repos (Mozilla up-time is very good)
  • Latency and failed pulls, some builds must pull from ~30 repos

Requirements

  • Pushlog equivalent needs to be created for Git
  • Repository hooks
    • tree closure
    • approval required hook
    • try syntax
  • Update for Nightly about:buildconfig to link to Git revision
  • Bugzilla must be updated to links to Git change sets, existing Hg links must not break
  • tbpl.mozilla.org (links to changeset id) must be updated to support Git or an equivalent system put in place
  • must have root access to repo to back out changes (have at Mozilla, don't have for Github repos)

IT System Admins

fox2mike stated that IT has no issue with a move to Git, does have issues with a move to third party hosting of Mozilla repos

Benefits

  • Simplified management of a single system
  • Hg has required a lot of one off troubleshooting that consumes a lot of time, Git has required almost no troubleshooting thus far but may require more once scaled up

Issues

  • Some teams (NSS, security) require internal hosting
  • IT team has limited experience with Git at this point

Requirements

  • Will need to scale Git infrastructure (currently 2 machines) but should be able to reuse Hg machines
  • git.m.o has had limited usage, need to review and stress test to ensure deployment can support scale