SCM/HGtoGit
< SCM
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
- Update build tools (Windows tools specifically) to support Git
- jlebar's tools https://github.com/jlebar/moz-git-tools
- Must be able to create user repos as can do on Hg
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