Preparei um upload clonando um repositório git-ubuntu e confirmando algumas alterações localmente. Como desenvolvedor do Ubuntu, tenho permissão para fazer upload para o arquivo. O que preciso fazer para carregar minhas alterações corretamente?
Preparei um upload clonando um repositório git-ubuntu e confirmando algumas alterações localmente. Como desenvolvedor do Ubuntu, tenho permissão para fazer upload para o arquivo. O que preciso fazer para carregar minhas alterações corretamente?
Opções
Você tem duas opções.
1. Carregar sem preservação de histórico rico
Você pode
dput
normalmente sem fazer mais nada. Depois que o Launchpad aceitar seu upload, o importador git-ubuntu irá pegá-lo e sintetizar um commit que corresponda a ele. Ponteiros de ramificação no repositório git-ubuntu serão atualizados de acordo.Este é o resultado padrão e significa que os fluxos de trabalho dos desenvolvedores existentes não são forçados a mudar.
Isso significa que um conjunto mais rico de commits que você pode ter feito localmente não será preservado no repositório "oficial" do git-ubuntu para o pacote.
Você notará que é assim que a maioria dos uploads no git-ubuntu hoje foi importada - porque não temos um histórico rico para uploads históricos.
2. Carregar com rica preservação de história
O design do git-ubuntu permite a preservação total de seus commits, adotando-os no registro "oficial". No entanto, a implementação ainda não está concluída. Por enquanto, temos uma medida paliativa que permite a preservação de um rico histórico, mas, infelizmente, isso requer algumas etapas manuais.
Processo atual
Observe que isso se aplica apenas aos uploaders do Ubuntu.
Se você precisar de um patrocinador, peça a ele para revisar primeiro, pois a preservação de algo que não corresponda exatamente ao upload subsequente não funcionará. Lembre-se de que a rica preservação da história é opcional. Por favor, não assuma que seu patrocinador está disposto a seguir este processo.
Antes
dput
, peça a um membro da ~usd-import-team para tornar seu rico histórico visível para o importador adotá-lo. Assim que o serviço de importador vir o upload do pacote no Launchpad, ele procurará esse rico histórico e sintetizará um commit se não puder ser encontrado, e é por isso que isso deve ser feito antesdput
.A maneira mais fácil de fornecer ~usd-import-team com seu rico histórico é por meio de um link para uma proposta de mesclagem. Observe que ainda não há nenhum processo geral que garanta que as propostas de mesclagem contra as ramificações do git-ubuntu sejam revisadas. Por favor, organize você mesmo ou auto-aprove como desejar; quando estiver pronto
dput
, envie-nos um link para a proposta de mesclagem apenas para a etapa de preservação do histórico avançado.Processo futuro de curto prazo
Agora que o suporte à ACL por referência do Launchpad está pronto, esperamos poder permitir que os uploaders do Ubuntu enviem um histórico rico para ficar visível diretamente para o importador, eliminando a latência da etapa humana extra necessária atualmente.
Processo pretendido de longo prazo
Eventualmente, pretendemos que o serviço de importação do git-ubuntu seja capaz de coletar um histórico rico diretamente de propostas de mesclagem ou similares.
Justificativa
Por que isso parece obtuso?
O repositório git-ubuntu destina-se a refletir a única fonte de verdade, que para o Ubuntu são as publicações do Launchpad dos pacotes do Ubuntu. Os desenvolvedores do Ubuntu carregam atualizações de pacotes; eles são publicados e espera-se que o repositório git reflita essas publicações. Isso é o oposto de outros projetos de desenvolvimento em que o fluxo é o oposto: normalmente os desenvolvedores empurram para o git e fazem lançamentos do git.
Para evitar que o repositório git não corresponda às publicações do Launchpad, é necessário garantir que as atualizações do branch git-ubuntu correspondam exatamente às suas publicações do Launchpad correspondentes antes de serem enviadas. Conseguimos isso restringindo os pushes apenas ao serviço de importação do git-ubuntu. O serviço do importador adotará o histórico rico fornecido pelo uploader somente se ele corresponder exatamente à publicação do Launchpad que está importando. Se o histórico avançado fornecido não corresponder ou se o histórico avançado não for fornecido, o importador sintetizará uma confirmação que corresponda exatamente à publicação do Launchpad que está importando.
Isso significa que precisamos fornecer um histórico rico para o serviço de importação do git-ubuntu, o que deve explicar as três opções detalhadas acima.