logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

dgit - tutorial for package maintainers of Debian-native packages

First Push With Dgit

       You do not need to do anything special to your tree to push with dgit.

       Simply prepare your git tree in the usual way, and then:

           % dgit -wgf --trust-changelog push-source

       (Do not make any tags yourself: dgit push will do that.)

       You  may use dgitpbuilder or dgitcowbuilder instead of dgitsbuild; see dgit(1) for the syntax of those
       subcommands.

       The --trust-changelog option tells dgit that you are expecting that your git history is not a  descendant
       of the history which dgit synthesised from the previous non-dgit uploads.

       dgit  will make a merge commit on your branch but without making any code changes (ie, a pseudo-merge) so
       that your history, which will be pushed to the dgit git server, is fast forward  from  the  dgit  archive
       view.

       Alternatively,  if  this  was  the  first ever dgit push of the package to this suite, you can avoid this
       merge commit by passing "--deliberately-not-fast-forward" instead of  "--trust-changelog".   This  avoids
       introducing a new origin commit into your git history.

Incorporating An Nmu

           % dgit pull

       That's it.

       Or, if you would prefer to review the changes, you can do this:

           % dgit fetch
           % dgit diff HEAD..dgit/dgit/sid

       If you do not merge the NMU into your own git history, the next push will then require --trust-changelog.

Introduction

       This document describes elements of a workflow for using dgit to maintain a Debian package that uses one
       of the native source formats ("1.0" & "3.0 (native)").

       •   We expect that your git history is fast-forwarding.

       •   You  should  be  prepared  to  tolerate a small amount of ugliness in your git history in the form of
           merges which stitch the dgit-generated archive view into your maintainer history.

           This is to handle uploads that were not made with dgit, such as the uploads you made before switching
           to this workflow, or NMUs.

   Benefits
       •   Benefit from dgit's safety catches.  In particular, ensure that your upload  always  matches  exactly
           your git HEAD.

       •   Provide a better, more detailed history to downstream dgit users.

       •   Incorporate an NMU with one command.

Name

       dgit - tutorial for package maintainers of Debian-native packages

See Also

dgit(1), dgit(7)

perl v5.40.1                                     Debian Project                             dgit-maint-native(7)

Subsequent Pushes

           % dgit -wgf push-source

       That's it.

See Also