| dgit-maint-bpo(7) | dgit | dgit-maint-bpo(7) |
NOME¶
dgit - dicas para manter backports Debian oficiais
INTRODUÇÃO¶
Este documento descreve elementos de um fluxo de trabalho que usa dgit para manter um backport Debian oficial. Não assumimos que o que vai enviar o pacote para Debian unstable esteja a usar dgit.
DICAS GERAIS¶
A primeira vez que um pacote é retro-portado (backported) para qualquer lançamento Debian você tem de passar a opção --new ao dgit.
TERMINOLOGIA¶
Deixe o ramo master conter o histórico de empacotamento para Debian unstable, e o ramo bookworm-bpo estar onde você prepara os seus envios para a suite bookworm-backports.
Uma fusão de fluxo de trabalho de backports significa que cada vez que um envio migra para Debian testing e você quer preparar um envio para bookworm-backports, você faz algo como isto:
% git checkout bookworm-bpo
% git merge master
% dch --bpo
% # quaisquer outras alterações necessárias para backporting
% git commit -a
% # tenta uma compilação
Um re-basear de fluxo de trabalho de backports significa que você deita fora o histórico do ramo bookworm-bpo cada vez que uma nova versão migra para Debian testing, algo equivalente a isto:
% git checkout -B bookworm-bpo master
% dch --bpo
% # quaisquer outras alterações necessárias para backporting
% git commit -a
% # tenta uma compilação
Se você usar um fluxo de trabalho de backports de fusão, o seu changelog contém entradas para cada envio prévio para bookworm-backports; num fluxo de trabalho re-baseado, apenas contém o último.
ESCOLHER ENTRE OS DOIS FLUXOS DE TRABALHO¶
Se a retro-portagem envolver fazer nenhumas alterações adicionais à fonte do autor, a escolha de você usar fluxo de trabalho de backport de fusão ou re-baseado é uma questão de preferência pessoal. Existem bons argumentos a favor de ambos fluxos de trabalho a corresponder às semânticas das suites *-backports.
One thing that can break the tie is that if you want to upload with git-debpush, then, at present, you must use a merging workflow. Though, note that your first upload to backports must always be done with dgit, because it is not a source-only upload.
Se você tem de fazer alterações na fonte do autor para fazer o pacote funcionar em máquinas que correm Debian stable, é aconselhável escolher um fluxo de trabalho re-baseado. Isto assegura que o dgit pode atualizar automaticamente o directório debian/patches sem nenhuma intervenção manual.
DICAS PARA UM FLUXO DE TRABALHO DE FUSÃO¶
Usar ramos do dgit¶
Se não for você próprio a enviar o pacote para Debian unstable, é geralmente mais fácil usar ramos do dgit, e ignorar o repositório Vcs-Git configurado.
Você deveria usar
% dgit clone foo bookworm
para uma nova retro-portagem do pacote 'foo' para bookworm-backports, e depois
% dgit fetch bookworm
% git merge dgit/dgit/bookworm
quando as novas versões migram para Debian testing.
If you follow this suggestion then there is nothing pushed to salsa, so you will always need to use dgit to upload, not git-debpush.
DICAS PARA UM FLUXO DE TRABALHO RE-BASEADO¶
Usar ramos do dgit¶
Se não for você próprio a enviar o pacote para Debian unstable, é geralmente mais fácil usar ramos do dgit, e ignorar o repositório Vcs-Git configurado. Para cada nova versão de Debian testing, você deveria
% dgit fetch bookworm
% git checkout -B bookworm-bpo dgit/dgit/bookworm
% # usa git-cherry-pick(1) para (re)aplicar quaisquer correções necessárias ao backporting
Sobrescrever¶
O dgit push esforça-se por prevenir que você por acidente sobrescreva os envios que acha que não estão representados no histórico git que você está a tentar atualizar. Isto acontece principalmente para prevenir o sobrescrever acidental de NMUs.
Com um fluxo de trabalho de backports re-baseado, o dgit vai achar que cada envio de uma nova versão de Debian testing pode estar acidentalmente a sobrescrever envios. Você precisa de indicar explicitamente o envio para bookworm-backports que deseja sobrescrever.
Supondo que o último envio para bookworm-backports tinha versão 1.2.2-1~bpo10+1 e agora você preparou 1.2.3-1~bpo10+1 para envio. Quando fizer dgit push, vai precisar de passar --trust-changelog=1.2.2-1~bpo10+1.
Em alternativa, você pode efetuar a pseudo-fusão que --trust-changelog teria feito por si:
% dgit fetch bookworm-backports
% git merge -s ours dgit/dgit/bookworm-backports
% dgit push-source
VEJA TAMBÉM¶
dgit(1), dgit(7), https://backports.debian.org/
AUTOR¶
Este manual foi escrito e é mantido por Sean Whitton <spwhitton@spwhitton.name>.
| dgit+tag2upload team | Debian Project |