- Firefox는 최근 주 저장소를 Mercurial에서 GitHub로 이전함
-
버그 추적은 Bugzilla, 코드 리뷰는 Phabricator, CI는 Taskcluster를 계속 사용하고 있음
- 현재는 GitHub가 중심 저장소이지만 Mercurial 서버는 GitHub에서 동기화되어 유지되고 있으며, 기존 자동화 시스템도 점진적으로 Git으로 전환 예정임
-
CI 테스트용 'try' 저장소는 여전히 Mercurial 기반이지만 점점 추상화 레이어 뒤로 숨겨지고 있으며 향후 Git으로 옮겨질 예정임
- Git을 기본으로 사용할 수 있게 되면서 새 기여자들이 Mercurial을 따로 배울 필요 없이 Git만 익히면 되는 장점이 생김
- 이전에는 git cinnabar라는 확장을 설치해야 했지만, 이제는 기본 Git만 사용하면 충분
- 기존 Mercurial의 mozilla-central은 Git에서는 main 브랜치로 변경 및, autoland 브랜치는 Git에서도 그대로 autoland
- GitHub의 PR 기반 워크플로우는 현재 도입되지 않았으며, 이번 변화에 포함되지 않음. 향후 가능성은 열려 있으나 공식 계획은 없음
- Mozilla는 GitHub로의 전환을 통해 자체 VCS 인프라 운영 부담을 줄일 수 있음
- 대규모 프로젝트에 요구되는 성능, 안정성, 가용성을 자체적으로 제공하는 데 드는 비용과 복잡성을 줄이는 것이 주요 목표
Mozilla, Firefox 코드 저장소를 GitHub로 전환하며 Mercurial 시대를 마감
- Mozilla는 Firefox 개발의 중심 VCS를 Mercurial에서 Git으로 전환하고 GitHub를 공식 저장소로 삼기로 결정함
- 이 결정의 기반에는 git-cinnabar이라는 확장 도구의 장기 개발 및 보급이 있었으며, 이를 통해 Git 사용자도 Mercurial 저장소에 원활하게 접근 가능했음
- Mercurial의 브랜치 구조 문제, 저장소 규모 확대, 자체 서버 운영 부담 등이 복합적으로 작용하여 자체 인프라 유지의 어려움이 누적됨
- GitHub 선택에 대해 논란도 있으나, Mozilla 내부 수천 개의 리포지터리가 이미 GitHub에 존재하는 등 기여자 친화성과 실용성 측면에서 불가피한 선택이었음
- git-cinnabar는 Mozilla 내부 필요에서 출발한 개인 사이드 프로젝트였으나, 향후 전환기에도 중요한 도구로 계속 유지될 가능성이 높음
“내가 불을 지른 건 아니지만, 그 불에 기름을 부은 건 사실이다.”