Provided by: dgit_13.15_all 

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.
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.
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>.
Debian Project dgit+tag2upload team dgit-maint-bpo(7)