chiark / gitweb /
dgit: Non-noop git fetch is not available with --dry-run, so fail
[dgit.git] / dgit.1
diff --git a/dgit.1 b/dgit.1
index 1bf4a2c767345d6a2036379993edccc5947e69ce..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
@@ -39,10 +39,11 @@ This is the command line reference.
 Please read the tutorial(s):
 .TS
 lb l.
 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
@@ -117,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
@@ -127,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
@@ -184,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.
@@ -253,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
@@ -277,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,
@@ -736,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.
@@ -813,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 ,
@@ -860,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 ,