[\fIbuild\-opts\fp]
.br
.B dgit
-[\fIdgit\-opts\fP] \fBpush\fP [\fIdgit\-opts\fP]
+[\fIdgit\-opts\fP] \fBpush\fP|\fBpush-source\fP [\fIdgit\-opts\fP]
[\fIsuite\fP]
.br
.B dgit
.B dgit
allows you to treat the Debian archive as if it were a git
repository.
+Conversely,
+it allows Debian to publish the source of its packages
+as git branches, in a format which is directly useable
+by ordinary people.
This is the command line reference.
Please read the tutorial(s):
.TS
lb l.
-dgit-user(7) for users: editing, building and sharing packages
-dgit-nmu-simple(7) for DDs: doing a straightforward NMU
+dgit-user(7) for users: edit, build and share packages
+dgit-nmu-simple(7) for DDs: do a straightforward NMU
dgit-maint-native(7) for maintainers of Debian-native packages
-dgit-maint-merge(7) for maintainers who want a pure git workflow
+dgit-maint-debrebase(7) for maintainers: a pure-git rebasish workflow
+dgit-maint-merge(7) for maintainers: a pure-git merging workflow
dgit-maint-gbp(7) for maintainers already using git-buildpackage
dgit-sponsorship(7) for sponsors and sponsored contributors
.TE
and
.IR package \fB_\fR version \fB_source.changes\fR.
-Tagging, signing and actually uploading should be left to dgit push.
+Tagging, signing and actually uploading should be left to dgit
+push-source, or dgit push.
.TP
.B dgit clean
Cleans the current working tree (according to the --clean= option in
dgit push always uses the package, suite and version specified in the
debian/changelog and the .dsc, which must agree. If the command line
specifies a suite then that must match too.
+
+With \fB-C\fR, performs a dgit push, additionally ensuring that no
+binary packages are uploaded.
+
+When used on a git-debrebase branch,
+dgit calls git-debrebase
+to prepare the branch
+for source package upload and push.
+.TP
+\fBdgit push-source\fR [\fIsuite\fP]
+Without \fB-C\fR, builds a source package and dgit pushes it. Saying
+\fBdgit push-source\fR is like saying "update the source code in the
+archive to match my git HEAD, and let the autobuilders do the rest."
.TP
\fBdgit rpush\fR \fIbuild-host\fR\fB:\fR\fIbuild-dir\fR [\fIpush args...\fR]
Pushes the contents of the specified directory on a remote machine.
other kinds of more exotic history. If dgit can't find a suitable
linearisation of your history, by default it will fail, but you can
ask it to generate a single squashed patch instead.
+
+When used with a git-debrebase branch,
+dgit will ask git-debrebase to prepare patches.
+However,
+dgit can make patches in some situations where git-debrebase fails,
+so dgit quilt-fixup can be useful in its own right.
+To always use dgit's own patch generator
+instead of git-debrebase make-patches,
+pass --git-debrebase=true to dgit.
.TP
\fBdgit import-dsc\fR [\fIsub-options\fR] \fI../path/to/.dsc\fR [\fB+\fR|\fB..\fR]branch
Import a Debian-format source package,
Prints the url used by dgit clone-dgit-repos-server.
This is hopefully suitable for use as a git remote url.
It may not be useable in a browser.
+.TP
+.BI "dgit print-dpkg-source-ignores"
+Prints the -i and -I arguments which must be passed to dpkg-souce
+to cause it to exclude exactly the .git diredcory
+and nothing else.
+The separate arguments are unquoted, separated by spaces,
+and do not contain spaces.
.SH OPTIONS
.TP
.BR --dry-run " | " -n
.B \-\-no-rm-old-changes
can be used to override a previous \-\-rm-old-changes
or the .rm-old-changes configuration setting.
+
+Note that \fBdgit push-source\fR will always find the right .changes,
+regardless of this option.
.TP
.BI --build-products-dir= directory
Specifies where to find the built files to be uploaded.
.BR sbuild ,
.BR ssh ,
.BR dgit ,
+.BR git-debrebase ,
.BR apt-get ,
.BR apt-cache ,
.BR gbp-pq ,
.BR gpg ,
.BR ssh ,
.BR dgit ,
+.BR git-debrebase ,
.BR apt-get ,
.BR apt-cache ,
.BR git ,