Scroll to navigation

dgit-maint-gbp(7) dgit dgit-maint-gbp(7)

NOME

dgit - tutorial para maintainers de pacote que já usam git-buildpackage(1)

INTRODUÇÃO

Este documento explica como o dgit pode ser incorporado num fluxo de trabalho de manutenção de pacote do git-buildpackage(1). Isto deve ser lido juntamente com a documentação do git-buildpackage(1). Algumas razões para você querer incorporar o dgit no seu fluxo de trabalho existente:

  • Benefit from dgit's safety catches. In particular, ensure that your upload always matches exactly your git HEAD.
  • Fornecer um histórico git melhor e mais detalhado a utilizadores do dgit de fluxo abaixo, tais com pessoas que usam dgit para fazer um NMU (veja dgit-nmu-simple(7) e dgit-user(7)).

Note que nós assumimos um repositório de patches-não-aplicadas: a fonte do autor cometida ao repositório git não tem patches. O git-buildpackage(1) pode funcionar com repositórios de patched-aplicadas, mas é normalmente usado com patches-não-aplicadas.

CONFIGURAÇÃO DO GIT

Se você configurou um export-dir no seu gbp.conf, você deve dizer ao dgit sobre isso:

    % git config --global dgit.default.build-products-dir /home/spwhitton/build-area

Se você correr

    % git config dgit.default.quilt-mode gbp

no seu repositório, você pode omitir --gbp sempre que ocorra em baixo.

Note que isto requer que você trabalhe sempre a partir do seu ramo mestre gbp, nunca do ramo patches-aplicadas do dgit.

COMPILAÇÃO

Você pode efetuar compilações teste como esta:

    % dgit [--include-dirty] gbp-build [OPÇÕES]

onde --include-dirty é necessário para testar alterações não cometidas, e OPÇÕES são quaisquer opções posteriores a serem passadas ao gbp-buildpackage(1).

If you are doing a source-only upload, you do not need to prepare a _source.changes, as dgit push-source will take care of that on your behalf.

Se você precisar de incluir binários no seu envio, vai provavelmente querer usar o use sbuild(1), pbuilder(1) ou o cowbuilder(1):

    % dgit --rm-old-changes --gbp sbuild

substituindo 'sbuild' por 'pbuilder' ou 'cowbuilder' como apropriado.

Nós usamos --rm-old-changes para assegurar que existe exatamente um ficheiro de alterações correspondente a este pacote, para estarmos confiantes que estamos a enviar o que pretendemos (apesar do dgit push fazer algumas verificações de segurança).

Note nenhum dos comandos nesta secção são requeridos para enviar com o dgit. Você pode invocar gbp-buildpackage(1), pbuilder(1), cowbuilder(1) e sbuild(1) diretamente. No entanto, as predefinições para estas ferramentas podem deixa-lo com algo que o dgit irá recusar enviar porque não vai corresponder ao seu CABEÇALHO git.

Como regra geral, deixe tudo assinalado e etiquetado para o dgit.

ENVIAR

Não use --git-tag: dgit push-source, dgit push-built, e dgit push vão fazer isto por si. Para fazer um envio apenas-fonte:

    % dgit --gbp push-source

ou se você precisar de incluir binários.

    % dgit --gbp push-built

Isto vai empurrar o seu histórico git para o repositório dgit, mas você provavelmente quer continuar com um envio para salsa.

Você vai precisar passar --trust-changelog se o envio anterior não foi efetuado com o dgit.

If this is the first ever dgit push of the package to this suite, consider passing --deliberately-not-fast-forward instead of --trust-changelog. This avoids introducing a new origin commit into the dgit view of your git history. (This origin commit would represent the most recent non-dgit upload of the package, but this should already be represented in your git history.)

Em alternativa, você pode usar git-debpush(1). Para o primeiro envio você deve passar a opção de modo quilt --gbp (veja git-debpush(1)).

INCORPORAR NMUS

O dgit pull ainda não pode incorporar NMUs em ramos gbp de patches-não-aplicadas. Você pode apenas aplicar o diff NMU da maneira tradicional. O próximo envio vai requerer --trust-changelog.

VEJA TAMBÉM

dgit(1), dgit(7)

AUTOR

Este tutorial foi escrito e é mantido por Sean Whitton <spwhitton@spwhitton.name>.

dgit+tag2upload team Debian Project