chiark / gitweb /
dgit(1): Cover more cases of --overwrite and --deliberately
[dgit.git] / dgit.1
diff --git a/dgit.1 b/dgit.1
index 3aebe8e26a98f640ca39b65489b6e90df4d582ab..9de679dbe10a881353e0bede6d1205dc27f99dcc 100644 (file)
--- a/dgit.1
+++ b/dgit.1
@@ -631,7 +631,8 @@ This could perhaps be used to detect bugs in your rules clean target.
 .TP
 .BR -N " | " --new
 The package is or may be new in this suite.  Without this, dgit will
-refuse to push.  It may (for Debian, will) be unable to access the git
+refuse to push.
+It may (for Debian, will) be unable to access the git
 history for any packages which have been newly pushed and have not yet
 been published.
 .TP
@@ -642,6 +643,18 @@ include the changes from your working tree.
 This can be useful with build, if you plan to commit later.  (dgit
 push will still ensure that the .dsc you upload and the git tree
 you push are identical, so this option won't make broken pushes.)
+
+Note that this does
+.BR not
+prevent dgit from cleaning your tree, so if the changes in your
+working tree are in the form of untracked files, those might still be
+deleted, especially with --clean=git.
+If you want to include untracked files in the build, you can
+use --clean=none or --clean=dpkg-source[-d]
+in addition to --include-dirty.
+Note that this
+combination can fail if the untracked files are under
+\fIdebian/patches/\fR.
 .TP
 .BR --ignore-dirty
 Deprecated alias for --include-dirty.
@@ -667,6 +680,7 @@ unless you know what you are doing.
 This option is useful if you are the maintainer, and you have
 incorporated NMU changes into your own git workflow in a way that
 doesn't make your branch a fast forward from the NMU.
+It can also be useful when an intermediate upload was not done with dgit.
 
 This option is also usually necessary
 the first time a package is pushed with dgit push
@@ -695,7 +709,7 @@ of git merge -s ours) to stitch the archive's version into your own
 git history, so that your push is a fast forward from the archive.
 
 (In quilt mode
-.BR gbp ", " dpm ", " unpatched " or " baredebian ,
+.BR gbp ", " dpm ", " unpatched " or " baredebian *,
 implying a split between the dgit view and the
 maintainer view, the pseudo-merge will appear only in the dgit view.)
 .TP
@@ -778,10 +792,16 @@ The meanings of
 understood in the context of Debian are discussed below:
 .TP
 .BR --deliberately-not-fast-forward
-Declare that you are deliberately rewinding history.  When pushing to
-Debian, use this when you are making a renewed upload of an entirely
+Declare that you are deliberately rewinding history.
+This could be because your branch is not fast forward from the
+dgit server history,
+or not fast forward from a locally-synthesised dsc import.
+
+When pushing to Debian,
+use this only when you are making a renewed upload of an entirely
 new source package whose previous version was not accepted for release
-from NEW because of problems with copyright or redistributibility.
+from NEW because of problems with copyright or redistributibility;
+or, exceptionally, for the very first upload with dgit.
 
 When split view is in operation,
 this also prevents the construction by dgit of a pseudomerge
@@ -823,7 +843,7 @@ with as ancestor a patches-applied branch.
 .BR --quilt=auto
 When fixing up source format `3.0 (quilt)' metadata, prefer to
 generate a linear patch stack
-(as with --quilt=auto)
+(as with --quilt=linear)
 but if that doesn't seem possible,
 try to generate a single squashed patch for all the changes made in git
 (as with --quilt=smash).
@@ -853,7 +873,7 @@ Do not check whether source format `3.0 (quilt)' metadata needs
 fixing up.  If you use this option and the metadata did in fact need
 fixing up, dgit push will fail.
 .TP
-.BR -- [ quilt= ] gbp " | " -- [ quilt= ] dpm " | " --quilt=unapplied " | " -- [ quilt= ] baredebian
+.BR -- [ quilt= ] gbp " | " -- [ quilt= ] dpm " | " --quilt=unapplied " | " -- [ quilt= ] baredebian [ +git | +tarball ]
 Tell dgit that you are using a nearly-dgit-compatible git branch,
 aka a
 .BR "maintainer view" ,
@@ -886,6 +906,8 @@ that any changes to upstream .gitignore files are represented as
 patches in debian/patches).
 
 .B --quilt=baredebian
+(or its alias
+.BR --quilt=baredebian+git )
 specifies that your HEAD contains only a debian/ directory,
 with any changes to upstream files represented as
 patches in debian/patches.
@@ -897,7 +919,18 @@ all edited upstream files are properly represented as patches:
 dgit relies on
 debian/patches being correct.
 
-With --quilt=gbp|dpm|unapplied|baredebian,
+.B --quilt=baredebian+tarball
+is like --quilt=baredebian,
+but is used when there is no appropriate upstream git history.
+To construct the dgit view,
+dgit will import your orig tarballs' contents into git.
+In this mode, dgit cannot check that
+the upstream parts of your upload correspond to what you intend:
+dgit relies on
+the right orig tarball(s) existing, and
+debian/patches being correct.
+
+With --quilt=gbp|dpm|unapplied|baredebian*,
 dgit push (or precursors like quilt-fixup and build) will automatically
 generate a conversion of your git branch into the right form.
 dgit push will push the
@@ -961,7 +994,7 @@ to make a correct `3.0 (quilt)' source package.
 is the default, and splits the view only when needed:
 i.e., when you are working with a `3.0 (quilt)' source package
 and a splitting quilt mode:
-\-\-[quilt=]gbp, dpm, unpatched or baredebian.
+\-\-[quilt=]gbp, dpm, unpatched or baredebian*.
 
 .B always
 splits the view regardless of the source format and the quilt mode.
@@ -1266,6 +1299,13 @@ The result is a fresh import,
 discarding the git history
 that the person who pushed that .dsc was working with.
 .TP
+.B \-\-force-reusing-version
+Carry on even though this involves reusing a version number
+of a previous push or upload.
+It is normally best to give different versions different numbers.
+Some servers (including, usually, the Debian server)
+will reject attempts to reuse or replace already-pushed versions.
+.TP
 .B \-\-force-uploading-binaries
 Carry on and
 upload binaries
@@ -1302,6 +1342,12 @@ Force on or off the use of the absurd git-apply emulation
 when running gbp pq import
 when importing a package from a .dsc.
 See Debian bug #841867.
+.TP
+.BR \-\-for\-push
+Override the dgit-distro.distro.readonly configuration setting,
+to specify that we have read/write access
+and should use the corresponding git and achieve access approach
+even if the operation is a read-only one.
 .SH CONFIGURATION
 dgit can be configured via the git config system.
 You may set keys with git-config (either in system-global or per-tree
@@ -1327,6 +1373,10 @@ may be a glob pattern.
 .TP
 .BI dgit.default.distro " distro"
 The default distro for an unknown suite.
+
+This is only used if no
+.BI /usr/share/distro-info/ somedistro .csv
+mentions the specified suite.
 .TP
 .BI dgit.default.default-suite " suite"
 The default suite (eg for clone).
@@ -1446,7 +1496,7 @@ or when pushing and
 .TP
 .BI dgit-distro. distro .git-create " " ssh-cmd | true
 .TP
-.BR dgit-distro. \fIdistro\fR .archive-query " " ftpmasterapi: " | " madison: "\fIdistro\fR | " dummycat: "\fI/path\fR  | " sshpsql: \fIuser\fR @ \fIhost\fR : \fIdbname\fR
+.BR dgit-distro. \fIdistro\fR .archive-query " " ftpmasterapi: " | " madison: "\fIdistro\fR | " dummycat: "\fI/path\fR  | " sshpsql: \fIuser\fR @ \fIhost\fR : \fIdbname\fR " " | " aptget:"
 .TP
 .BR dgit-distro. \fIdistro\fR .archive-query- ( url | tls-key | curl-ca-args )
 .TP
@@ -1494,7 +1544,7 @@ also the \-\-ssh= and \-\-ssh: options.
 Default git user.email and user.name for new trees.  See
 .BR "dgit setup-new-tree" .
 .TP
-.BR gpg ", " dpkg- "..., " debsign ", " git ", " curl ", " dput ", " LWP::UserAgent
+.BR gpg ", " dpkg- "..., " debsign ", " git ", [" lib ] curl ", " dput
 and other subprograms and modules used by dgit are affected by various
 environment variables.  Consult the documentation for those programs
 for details.