3 dgit - tutorial for package maintainers of Debian-native packages
7 This document describes elements of a workflow for using B<dgit> to
8 maintain a Debian package that uses one of the native source formats
9 ("1.0" & "3.0 (native)").
15 We expect that your git history is fast-forwarding.
19 You should be prepared to tolerate a small amount of
20 ugliness in your git history
21 in the form of merges which stitch
22 the dgit-generated archive view
23 into your maintainer history.
25 This is to handle uploads that were not made with dgit,
26 such as the uploads you made before switching to this workflow,
37 Benefit from dgit's safety catches. In particular, ensure that your
38 upload always matches exactly your git HEAD.
44 to downstream dgit users.
48 Incorporate an NMU with one command.
52 =head1 FIRST PUSH WITH DGIT
54 You do not need to do anything special to your tree
57 Simply prepare your git tree in the usual way, and then:
61 % dgit -wgf sbuild -A -c sid
62 % dgit -wgf --overwrite push
66 (Do not make any tags yourself: dgit push will do that.)
68 You may use B<dgit pbuilder> or B<dgit cowbuilder>
69 instead of B<dgit sbuild>;
70 see dgit(1) for the syntax of those subcommands.
72 The --overwrite option tells dgit that you are expecting
73 that your git history is not a descendant of the
74 history which dgit synthesised from the previous
77 dgit will make a merge commit
79 but without making any code changes
82 which will be pushed to the dgit git server,
83 is fast forward from the dgit archive view.
86 if this was the first ever dgit push of the package,
87 you can avoid this merge commit by
88 passing C<--deliberately-not-fast-forward>.
89 instead of C<--overwrite>.
90 This avoids introducing a new origin commit into
93 =head1 SUBSEQUENT PUSHES
103 =head1 INCORPORATING AN NMU
113 Or, if you would prefer to review the changes,
119 % dgit diff HEAD..dgit/dgit/sid
123 If you do not merge the NMU into your own git history,
124 the next push will then require I<--overwrite>.