1dgit-maint-native(7)                 dgit                 dgit-maint-native(7)
2
3
4

NAME

6       dgit - tutorial for package maintainers of Debian-native packages
7

INTRODUCTION

9       This document describes elements of a workflow for using dgit to
10       maintain a Debian package that uses one of the native source formats
11       ("1.0" & "3.0 (native)").
12
13       •   We expect that your git history is fast-forwarding.
14
15       •   You should be prepared to tolerate a small amount of ugliness in
16           your git history in the form of merges which stitch the dgit-
17           generated archive view into your maintainer history.
18
19           This is to handle uploads that were not made with dgit, such as the
20           uploads you made before switching to this workflow, or NMUs.
21
22   Benefits
23       •   Benefit from dgit's safety catches.  In particular, ensure that
24           your upload always matches exactly your git HEAD.
25
26       •   Provide a better, more detailed history to downstream dgit users.
27
28       •   Incorporate an NMU with one command.
29

FIRST PUSH WITH DGIT

31       You do not need to do anything special to your tree to push with dgit.
32
33       Simply prepare your git tree in the usual way, and then:
34
35           % dgit -wgf sbuild -A -c sid
36           % dgit -wgf --overwrite push
37
38       (Do not make any tags yourself: dgit push will do that.)
39
40       You may use dgit pbuilder or dgit cowbuilder instead of dgit sbuild;
41       see dgit(1) for the syntax of those subcommands.
42
43       The --overwrite option tells dgit that you are expecting that your git
44       history is not a descendant of the history which dgit synthesised from
45       the previous non-dgit uploads.
46
47       dgit will make a merge commit on your branch but without making any
48       code changes (ie, a pseudo-merge) so that your history, which will be
49       pushed to the dgit git server, is fast forward from the dgit archive
50       view.
51
52       Alternatively, if this was the first ever dgit push of the package, you
53       can avoid this merge commit by passing
54       "--deliberately-not-fast-forward" instead of "--overwrite".  This
55       avoids introducing a new origin commit into your git history.
56

SUBSEQUENT PUSHES

58           % dgit -wgf push
59
60       That's it.
61

INCORPORATING AN NMU

63           % dgit pull
64
65       That's it.
66
67       Or, if you would prefer to review the changes, you can do this:
68
69           % dgit fetch
70           % dgit diff HEAD..dgit/dgit/sid
71
72       If you do not merge the NMU into your own git history, the next push
73       will then require --overwrite.
74

SEE ALSO

76       dgit(1), dgit(7)
77
78
79
80perl v5.34.0                    Debian Project            dgit-maint-native(7)
Impressum