Repositório de código do Mozilla Firefox migra de Mercurial para GitHub
(github.com/mozilla-firefox)- O Firefox recentemente migrou seu repositório principal de Mercurial para GitHub
- O rastreamento de bugs continua no Bugzilla, as revisões de código no Phabricator e o CI no Taskcluster
- Atualmente, o GitHub é o repositório central, mas o servidor Mercurial é mantido sincronizado a partir do GitHub, e os sistemas de automação existentes também devem migrar gradualmente para Git
- O repositório
trypara testes de CI ainda é baseado em Mercurial, mas está sendo cada vez mais ocultado atrás de uma camada de abstração e deve ser migrado para Git no futuro - Com o Git disponível como padrão, novos contribuidores ganham a vantagem de não precisar aprender Mercurial separadamente, bastando conhecer Git
- Antes era necessário instalar a extensão git cinnabar, mas agora usar apenas o Git padrão já é suficiente
- O antigo
mozilla-centraldo Mercurial foi renomeado para a branchmainno Git, e a branchautolandcontinua comoautolandtambém no Git - O fluxo de trabalho baseado em PR do GitHub não foi adotado neste momento e não faz parte desta mudança. Há possibilidade no futuro, mas não existe plano oficial
- Com a transição para o GitHub, a Mozilla pode reduzir a carga de operar sua própria infraestrutura de VCS
- O principal objetivo é reduzir os custos e a complexidade de fornecer internamente desempenho, estabilidade e disponibilidade exigidos por um projeto de grande porte
Histórico detalhado e explicação escritos por Glandium, autor do git-cinnabar: How I (kind of) killed Mercurial at Mozilla
> Mozilla encerra a era do Mercurial ao transferir o repositório de código do Firefox para o GitHub
- A Mozilla decidiu migrar o VCS central do desenvolvimento do Firefox de Mercurial para Git e adotar o GitHub como repositório oficial
- Essa decisão foi sustentada pelo desenvolvimento e pela disseminação de longo prazo da ferramenta de extensão git-cinnabar, que permitia aos usuários de Git acessar repositórios Mercurial de forma fluida
- Problemas na estrutura de branches do Mercurial, o aumento da escala do repositório e o peso de operar servidores próprios se combinaram, fazendo com que as dificuldades de manter a infraestrutura própria se acumulassem
- Houve controvérsia em torno da escolha do GitHub, mas, com milhares de repositórios internos da Mozilla já existentes no GitHub, foi uma escolha praticamente inevitável em termos de facilidade para contribuidores e pragmatismo
- O git-cinnabar começou como um projeto pessoal paralelo motivado por necessidades internas da Mozilla, mas é provável que continue sendo uma ferramenta importante durante o período de transição
> “Não fui eu quem ateou o fogo, mas é verdade que joguei combustível nele.”
1 comentários
Opiniões do Hacker News
hg.mozilla.orgpara o GitHub. Isso afeta apenas o código; o rastreamento de issues continua no bugzilla, revisão de código e landing continuam no phabricator, e CI continua no sistema taskcluster. No curto prazo, o servidor Mercurial continua sendo sincronizado a partir do GitHub, para permitir que os sistemas de automação migrem gradualmente para um backend Git. O Mercurial ainda é usado no repositório “try” (onde se roda CI para patches WIP), mas está sendo gradualmente escondido atrás de uma camada de abstração e também deve ser migrado depois. Para quem está acostumado com o repositório antigo, “mozilla-central” foi mapeado para o nome de branch padrão do Git, “main”, e “autoland” para a branch “autoland”. Já era possível contribuir com o Firefox usando apenas Git, mas era necessário instalar uma extensão chamada git cinnabar. Ter que escolher entre aprender hg ou usar Git+extensão era uma barreira de entrada para novos contribuidores, e a maioria conhecia Git, mas não Mercurial. Agora isso não é mais uma preocupação. O autor do git cinnabar, glandium, escreveu no blog dele um contexto detalhado e as razões no anúncio da migração. No curto prazo, do ponto de vista dos contribuidores, quase nada muda. O fluxo de trabalho padrão agora passou a ser o uso normal de Git, e fora isso nada mudou. No futuro pode surgir suporte a um fluxo de trabalho baseado em PRs do GitHub, mas isso não faz parte desta mudança. No backend, quando a migração estiver concluída, a Mozilla poderá reduzir o tempo e o esforço gastos para operar sua própria infraestrutura de VCS, e atender aos requisitos de desempenho e disponibilidade de um projeto desse porte é um desafio considerávelmozilla-firefoxem vez da orgmozillajá existentemozilla-centralda Mozilla, e agora tanto a versão desktop quanto a mobile estão no GitHub, enquanto as issues continuam no Bugzilla. Dá para aproveitar a boa busca do GitHub, a navegação pelo código e a familiaridade do Git. Como ex-contribuidor do Firefox e do Thunderbird, eu usava muito mais busca local do que a busca no sitemozilla-central. Durante o desenvolvimento, você busca pela IDE, mas uma busca fácil no site é algo bem-vindo para novos contribuidoresgithub.com/mozillamozilla-central. Agora existem “main” e “autoland”, e fico curioso sobre o que são e qual delas equivale à antigamozilla-centralmozilla-central, e “autoland” é a branch que já existia ao lado dela, para onde os commits chegam primeiro