chiark / gitweb /
dgit(1): Mention under `dgit build' that it uses the network.
[dgit.git] / dgit.1
diff --git a/dgit.1 b/dgit.1
index 2233d95941fa34f9ec4ac9e9a4a77c25f77cda34..ef5236a4ce70c3aaadd637ba87ba948069ec51e8 100644 (file)
--- a/dgit.1
+++ b/dgit.1
@@ -17,7 +17,7 @@ dgit \- git integration with the Debian archive
 [\fIbuild\-opts\fp]
 .br
 .B dgit
 [\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
 [\fIsuite\fP]
 .br
 .B dgit
@@ -30,15 +30,20 @@ dgit \- git integration with the Debian archive
 .B dgit
 allows you to treat the Debian archive as if it were a git
 repository.
 .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.
 
 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-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
 dgit-maint-gbp(7)      for maintainers already using git-buildpackage
 dgit-sponsorship(7)    for sponsors and sponsored contributors
 .TE
@@ -113,6 +118,10 @@ that the generated source package corresponds to the relevant git
 commit.
 
 Tagging, signing and actually uploading should be left to dgit push.
 commit.
 
 Tagging, signing and actually uploading should be left to dgit push.
+
+dgit's build operations access the the network,
+to get the -v option right.
+See -v, below.
 .TP
 \fBdgit build-source\fR ...
 Builds the source package, and a changes file for a prospective
 .TP
 \fBdgit build-source\fR ...
 Builds the source package, and a changes file for a prospective
@@ -123,7 +132,8 @@ The output is left in
 and
 .IR package \fB_\fR version \fB_source.changes\fR.
 
 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
 .TP
 .B dgit clean
 Cleans the current working tree (according to the --clean= option in
@@ -180,6 +190,19 @@ archive.
 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.
 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.
 .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.
@@ -249,10 +272,19 @@ For why, see
 in
 .BR dgit(7) .
 
 in
 .BR dgit(7) .
 
+If there is an existing macro attribute line
+.B [attr]dgit-defuse-attrs
+in .git/info/attributes,
+but it is insufficient,
+because it was made by an earlier version of dgit
+and git has since introduced new transforming attributes,
+modifies the macro to disable the newer transformations.
+
 (If there is already a macro attribute line
 .B [attr]dgit-defuse-attrs
 in .git/info/attributes
 (If there is already a macro attribute line
 .B [attr]dgit-defuse-attrs
 in .git/info/attributes
-(whatever its effects),
+which does what dgit requires
+(whatever files it effects),
 this operation does nothing further.
 This fact can be used to defeat or partially defeat
 dgit setup-gitattributes
 this operation does nothing further.
 This fact can be used to defeat or partially defeat
 dgit setup-gitattributes
@@ -273,6 +305,15 @@ new quilt patch.  dgit cannot convert nontrivial merges, or certain
 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.
 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,
 .TP
 \fBdgit import-dsc\fR [\fIsub-options\fR] \fI../path/to/.dsc\fR [\fB+\fR|\fB..\fR]branch
 Import a Debian-format source package,
@@ -343,6 +384,13 @@ as actually being used on the dgit git server, as a git tree.
 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.
 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
 .SH OPTIONS
 .TP
 .BR --dry-run " | " -n
@@ -725,6 +773,9 @@ The default is not to remove, but
 .B \-\-no-rm-old-changes
 can be used to override a previous \-\-rm-old-changes
 or the .rm-old-changes configuration setting.
 .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.
 .TP
 .BI --build-products-dir= directory
 Specifies where to find the built files to be uploaded.
@@ -802,6 +853,7 @@ Specifies a single additional option to pass to
 .BR sbuild ,
 .BR ssh ,
 .BR dgit ,
 .BR sbuild ,
 .BR ssh ,
 .BR dgit ,
+.BR git-debrebase ,
 .BR apt-get ,
 .BR apt-cache ,
 .BR gbp-pq ,
 .BR apt-get ,
 .BR apt-cache ,
 .BR gbp-pq ,
@@ -849,6 +901,7 @@ Specifies alternative programs to use instead of
 .BR gpg ,
 .BR ssh ,
 .BR dgit ,
 .BR gpg ,
 .BR ssh ,
 .BR dgit ,
+.BR git-debrebase ,
 .BR apt-get ,
 .BR apt-cache ,
 .BR git ,
 .BR apt-get ,
 .BR apt-cache ,
 .BR git ,