chiark / gitweb /
Run debian/rules debian/tests/control
[dgit.git] / dgit.1
diff --git a/dgit.1 b/dgit.1
index fc883f21b94a74cbc9281867b83db71f4699b1ba..88e98128b43a404d121ec17b6570a36ba23271b1 100644 (file)
--- a/dgit.1
+++ b/dgit.1
@@ -126,7 +126,7 @@ Print a usage summary.
 Constructs the source package, uses
 .B  sbuild
 to do a binary build, and uses mergechanges to merge the source and
 Constructs the source package, uses
 .B  sbuild
 to do a binary build, and uses mergechanges to merge the source and
-binary changes files.  Options and argumments after sbuild will be
+binary changes files.  Options and arguments after sbuild will be
 passed on to sbuild.  Changes files matching
 .IB package _ version _*.changes
 in the parent directory will be removed; the output is left in
 passed on to sbuild.  Changes files matching
 .IB package _ version _*.changes
 in the parent directory will be removed; the output is left in
@@ -134,10 +134,10 @@ in the parent directory will be removed; the output is left in
 
 Tagging, signing and actually uploading should be left to dgit push.
 .TP
 
 Tagging, signing and actually uploading should be left to dgit push.
 .TP
-\fBdgit git-build\fR ...
+\fBdgit gbp-build\fR ...
 Runs
 .B git-buildpackage
 Runs
 .B git-buildpackage
-with some suitable options.  Options and argumments after git-build
+with some suitable options.  Options and arguments after gbp-build
 will be passed on to git-buildpackage.
 
 Tagging, signing and actually uploading should be left to dgit push.
 will be passed on to git-buildpackage.
 
 Tagging, signing and actually uploading should be left to dgit push.
@@ -198,13 +198,27 @@ You will need similar enough versions of dgit on the build-host and
 the invocation host.  The build-host needs gnupg installed, with your
 public key in its keyring (but not your private key, obviously).
 .TP
 the invocation host.  The build-host needs gnupg installed, with your
 public key in its keyring (but not your private key, obviously).
 .TP
+.B dgit setup-new-tree
+Configure the current working tree the way that dgit clone would have
+set it up.  Like running
+.B dgit setup-useremail
+and
+.B setup-mergechangelogs
+(but only does each thing if dgit is configured to do it automatically).
+You can use these in any git repository, not just ones used with
+the other dgit operations.
+.TP
+.B dgit setup-useremail
+Set the working tree's user.name and user.email from the
+distro-specific dgit configuration
+.RB ( dgit-distro. \fIdistro\fR .user-name " and " .user-email ),
+or DEBFULLNAME or DEBEMAIL.
+.TP
 .B dgit setup-mergechangelogs
 Configures a git merge helper for the file
 .B debian/changelog
 which uses
 .BR dpkg-mergechangelogs .
 .B dgit setup-mergechangelogs
 Configures a git merge helper for the file
 .B debian/changelog
 which uses
 .BR dpkg-mergechangelogs .
-You can use this in any git repository, not just ones used with
-the other dgit operations.
 .TP
 .B dgit quilt-fixup
 `3.0 (quilt)' format source packages need changes representing not
 .TP
 .B dgit quilt-fixup
 `3.0 (quilt)' format source packages need changes representing not
@@ -243,7 +257,11 @@ servers.
 .BI -k keyid
 Use
 .I keyid
 .BI -k keyid
 Use
 .I keyid
-for signing the tag and the upload.
+for signing the tag and the upload.  The default comes from the
+distro's
+.B keyid
+config setting (see CONFIGURATION, below), or failing that, the
+uploader trailer line in debian/changelog.
 .TP
 .BR --no-sign
 does not sign tags or uploads (meaningful only with push).
 .TP
 .BR --no-sign
 does not sign tags or uploads (meaningful only with push).
@@ -302,8 +320,10 @@ The build-dependencies are not checked (due to
 which violates policy, but may work in practice.
 .TP
 .BR -N " | " --new
 which violates policy, but may work in practice.
 .TP
 .BR -N " | " --new
-The package may be new in this suite.  Without this, dgit will
-refuse to push.
+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
+history for any packages which have been newly pushed and have not yet
+been published.
 .TP
 .BR --ignore-dirty
 Do not complain if the working tree does not match your git HEAD.
 .TP
 .BR --ignore-dirty
 Do not complain if the working tree does not match your git HEAD.
@@ -370,7 +390,7 @@ fixing up, dgit push will fail.
 .TP
 .BI -D
 Prints debugging information to stderr.  Repeating the option produces
 .TP
 .BI -D
 Prints debugging information to stderr.  Repeating the option produces
-more output (currently, up to -DDD is meaningfully different).
+more output (currently, up to -DDDD is meaningfully different).
 .TP
 .BI -c name = value
 Specifies a git configuration option, to be used for this run.
 .TP
 .BI -c name = value
 Specifies a git configuration option, to be used for this run.
@@ -410,6 +430,7 @@ Specifies alternative programs to use instead of
 .BR gpg ,
 .BR ssh ,
 .BR dgit ,
 .BR gpg ,
 .BR ssh ,
 .BR dgit ,
+.BR git ,
 or
 .BR mergechanges .
 
 or
 .BR mergechanges .
 
@@ -456,10 +477,19 @@ this applies only when the program is invoked directly by dgit.
 Usually, for passing options to dpkg-genchanges, you should use
 .BR --ch: \fIoption\fR.
 
 Usually, for passing options to dpkg-genchanges, you should use
 .BR --ch: \fIoption\fR.
 
+Specifying --git not effective for some lower-level read-only git
+operations performed by dgit, and also not when git is invoked by
+another program run by dgit.
+
 See notes above regarding ssh and dgit.
 
 NB that --gpg:option is not supported (because debsign does not
 See notes above regarding ssh and dgit.
 
 NB that --gpg:option is not supported (because debsign does not
-have that facility).  But see -k.
+have that facility).
+But see
+.B -k
+and the
+.B keyid
+distro config setting.
 .TP
 .BR -d "\fIdistro\fR | " --distro= \fIdistro\fR
 Specifies that the suite to be operated on is part of distro
 .TP
 .BR -d "\fIdistro\fR | " --distro= \fIdistro\fR
 Specifies that the suite to be operated on is part of distro
@@ -536,7 +566,8 @@ descendant of the state of the archive, as provided by dgit in the
 remote tracking branch
 .BR remotes/dgit/dgit/ \fIsuite\fR.
 
 remote tracking branch
 .BR remotes/dgit/dgit/ \fIsuite\fR.
 
-If you are using dgit to do an NMU, and don't know about the
+If you are using dgit to do an NMU (in Debian),
+and don't know about the
 maintainers' preferred packaging workflows, you should make your
 changes as a linear series of (logicially separated) commits on top of
 what's already in the archive.
 maintainers' preferred packaging workflows, you should make your
 changes as a linear series of (logicially separated) commits on top of
 what's already in the archive.
@@ -565,7 +596,7 @@ branch
 and merge that other commit
 .RB ( "git merge debian/" \fIversion\fR).
 Hopefully this merge will be trivial because the two trees should
 and merge that other commit
 .RB ( "git merge debian/" \fIversion\fR).
 Hopefully this merge will be trivial because the two trees should
-be the same.  The resulting branch head can be merged into your
+be very similar.  The resulting branch head can be merged into your
 working branches
 .RB ( "git checkout master && git merge dgit/" \fIsuite\fR).
 
 working branches
 .RB ( "git checkout master && git merge dgit/" \fIsuite\fR).
 
@@ -599,7 +630,6 @@ Settings likely to be useful for an end user include:
 Specifies the distro for a suite.  dgit keys off the suite name (which
 appears in changelogs etc.), and uses that to determine the distro
 which is involved.  The config used is thereafter that for the distro.
 Specifies the distro for a suite.  dgit keys off the suite name (which
 appears in changelogs etc.), and uses that to determine the distro
 which is involved.  The config used is thereafter that for the distro.
-it then looks
 .TP
 .BI dgit.default.distro " distro"
 The default distro for an unknown suite.
 .TP
 .BI dgit.default.distro " distro"
 The default distro for an unknown suite.
@@ -607,11 +637,13 @@ The default distro for an unknown suite.
 .BR dgit-distro. \fIdistro\fR .readonly " " auto | a " | " true | t | y | 1 " | " false | f | n | 0
 Whether you have push access to the distro.
 For Debian, it is OK to use auto, which uses readonly mode if you are
 .BR dgit-distro. \fIdistro\fR .readonly " " auto | a " | " true | t | y | 1 " | " false | f | n | 0
 Whether you have push access to the distro.
 For Debian, it is OK to use auto, which uses readonly mode if you are
-not pushing right now,
-but setting this to false will avoid relying on the mirror of the dgit
+not pushing right now;
+but, setting this to false will avoid relying on the mirror of the dgit
 git repository server.
 .TP
 .BI dgit-distro. distro .keyid
 git repository server.
 .TP
 .BI dgit-distro. distro .keyid
+See also
+.BR -k .
 .TP
 .BI dgit-distro. distro .mirror " url"
 .TP
 .TP
 .BI dgit-distro. distro .mirror " url"
 .TP
@@ -620,6 +652,37 @@ Not relevant for Debian.
 .TP
 .BI dgit-distro. distro .upload-host
 Might be useful if you have an intermediate queue server.
 .TP
 .BI dgit-distro. distro .upload-host
 Might be useful if you have an intermediate queue server.
+.TP
+.BI dgit-distro. distro .user-name " " dgit-distro. distro .user-email
+Values to configure for user.name and user.email in new git trees.  If
+not specified, the DEBFULLNAME and DEBEMAIL environment variables are
+used, respectively.  Only used if .setup-usermail is not disabled.
+.TP
+.BI dgit-distro. distro .setup-useremail
+Whether to set user.name and user.email in new git trees.
+True by default.  Ignored for dgit setup-setup-useremail, which does it anyway.
+.TP
+.BI dgit-distro. distro .setup-mergechangelogs
+Whether to setup a merge driver which uses dpkg-mergechangelogs for
+debian/changelog.  True by default.  Ignored for dgit
+setup-mergechangelogs, which does it anyway.
+.TP
+.BI dgit-distro. distro .cmd- cmd
+Program to use instead of
+.IR cmd .
+Works like
+.BR -- \fIcmd\fR = "... ."
+.TP
+.BI dgit-distro. distro .opts- cmd
+Extra options to pass to
+.IR cmd .
+Works like
+.BR -- \fIcmd\fR : "... ."
+To pass several options, configure multiple values in git config
+(with git config --add).  The options for
+.BI dgit.default.opts- cmd
+.BI dgit-distro. distro /push.opts- cmd
+and are all used, followed by options from dgit's command line.
 .SH ACCESS CONFIGURATION
 There are many other settings which specify how a particular distro's
 services (archive and git) are provided.  These should not normally be
 .SH ACCESS CONFIGURATION
 There are many other settings which specify how a particular distro's
 services (archive and git) are provided.  These should not normally be
@@ -678,6 +741,10 @@ interprets it the same way as git does.
 See
 also the --ssh= and --ssh: options.
 .TP
 See
 also the --ssh= and --ssh: options.
 .TP
+.BR DEBEMAIL ", " DEBFULLNAME
+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
 and other subprograms and modules used by dgit are affected by various
 environment variables.  Consult the documentaton for those programs
 .BR gpg ", " dpkg- "..., " debsign ", " git ", " curl ", " dput ", " LWP::UserAgent
 and other subprograms and modules used by dgit are affected by various
 environment variables.  Consult the documentaton for those programs