dgit-maint-native(7)

NAME
dgit - tutorial for package maintainers of Debian-native packages

INTRODUCTION
This document describes elements of a workflow for using dgit and git-debpush 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.

PUSHES WITH GIT-DEBPUSH
You do not need to do anything special to your tree to push with git-debpush.

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

    % git debpush

(Do not make any tags yourself: git-debpush will do that.)

You may use dgit pbuilder or dgit cowbuilder instead of dgit sbuild; see dgit(1) for the syntax of those subcommands.

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.

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

SEE ALSO
dgit(1), dgit(7)