Mozilla Firefox 코드 저장소, Mercurial에서 GitHub로 이전
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
개발 툴, DevOps
대상자
소프트웨어 개발자, 오픈소스 기여자, DevOps 엔지니어
핵심 요약
- Mozilla는 Firefox의 코드 저장소를 Mercurial에서 GitHub으로 이전 하여 Git을 기본으로 사용하는 개발 환경을 도입
- CI 테스트용 'try' 저장소는 Mercurial 기반 이지만 향후 Git으로 전환 예정
- GitHub의 PR 기반 워크플로우는 공식 계획에 포함되지 않음. 향후 가능성은 열려 있으나 현재는 미도입
섹션별 세부 요약
1. 저장소 이전 배경 및 주요 결정 요인
- Mercurial의 브랜치 구조 문제, 저장소 규모 확대, 자체 서버 운영 부담 등이 복합적으로 작용 하여 Mercurial 유지가 어려워짐
- git-cinnabar 확장 도구의 장기 개발 및 보급 이 결정의 기반이 됨
- GitHub 선택은 기여자 친화성, 실용성, 기존 리포지터리 존재 등에서 불가피한 선택으로 판단됨
2. GitHub 이전의 주요 변화 및 영향
- Mercurial 서버는 GitHub에서 동기화되어 유지 되며, 기존 자동화 시스템은 점진적으로 Git으로 전환
- CI 테스트용 'try' 저장소는 Mercurial 기반 이지만 추상화 레이어 뒤로 숨겨지고, 향후 Git으로 이전 예정
- 기존 Mercurial의
mozilla-central
은 Git의main
브랜치로,autoland
는autoland
브랜치로 매핑 - 신규 기여자는 Mercurial을 따로 배울 필요 없이 Git만 사용 하면 되는 장점 생김
3. GitHub 이전의 장단점 및 향후 계획
- GitHub는 자체 VCS 인프라 운영 부담을 줄일 수 있음. 그러나 Bugzilla, Phabricator, Taskcluster는 계속 사용
- GitHub PR 기반 워크플로우는 공식 계획에 포함되지 않음. 향후 가능성은 열려 있으나 현재는 미도입
- git-cinnabar는 Mozilla 내부 필요에서 출발한 개인 프로젝트 이지만, 향후 전환기에도 중요한 도구로 계속 유지될 가능성이 있음
결론
- Mozilla는 Mercurial에서 GitHub으로의 저장소 이전을 통해 개발자 생산성과 기여자 참여율을 높이려는 전략을 시행
- CI 테스트용 'try' 저장소는 Mercurial 기반으로 유지 되지만, 향후 Git으로의 전환을 계획 중
- GitHub의 PR 기반 워크플로우 도입은 현재 공식 계획에 포함되지 않음. 그러나 향후 가능성은 열려 있음.