Mozilla Firefox 코드 저장소, Mercurial에서 GitHub로 이전

1 month ago 4

  • 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 인프라 운영 부담을 줄일 수 있음
  • 대규모 프로젝트에 요구되는 성능, 안정성, 가용성을 자체적으로 제공하는 데 드는 비용과 복잡성을 줄이는 것이 주요 목표

git-cinnabar의 작성자인 Glandium이 작성한 상세 이력과 설명: How I (kind of) killed Mercurial at Mozilla

Mozilla, Firefox 코드 저장소를 GitHub로 전환하며 Mercurial 시대를 마감

  • Mozilla는 Firefox 개발의 중심 VCS를 Mercurial에서 Git으로 전환하고 GitHub를 공식 저장소로 삼기로 결정함
  • 이 결정의 기반에는 git-cinnabar이라는 확장 도구의 장기 개발 및 보급이 있었으며, 이를 통해 Git 사용자도 Mercurial 저장소에 원활하게 접근 가능했음
  • Mercurial의 브랜치 구조 문제, 저장소 규모 확대, 자체 서버 운영 부담 등이 복합적으로 작용하여 자체 인프라 유지의 어려움이 누적
  • GitHub 선택에 대해 논란도 있으나, Mozilla 내부 수천 개의 리포지터리가 이미 GitHub에 존재하는 등 기여자 친화성과 실용성 측면에서 불가피한 선택이었음
  • git-cinnabar는 Mozilla 내부 필요에서 출발한 개인 사이드 프로젝트였으나, 향후 전환기에도 중요한 도구로 계속 유지될 가능성이 높음

“내가 불을 지른 건 아니지만, 그 불에 기름을 부은 건 사실이다.”

Read Entire Article