the required checks and leaves the new .dsc in a temporary file,
but does not sign, tag, push or upload.
.TP
+.BR --damp-run | -L
+Go through many more of the motions: do everything that doesn't
+involve either signing things, or making changes on the public
+servers.
+.TP
.BI -k keyid
Use
.I keyid
Specifies a git configuration option. dgit itself is also controlled
by git configuration options.
.TP
-.RI \fB-v\fR version |\fB-m\fR maintaineraddress
+.RI \fB-v\fR version "|\fB_\fR | " \fB--since-version=\fR version |\fB_\fR
+Specifies the
+.BI -v version
+option to pass to dpkg-genchanges, during builds. Changes (from
+debian/changelog) since this version will be included in the built
+changes file, and hence in the upload. If this option is not
+specified, dgit will query the archive and use the latest version
+uploaded to the intended suite.
+
+Specifying
+.B _
+inhibits this, so that no -v option will be passed to dpkg-genchanges
+(and as a result, only the last stanza from debian/changelog will
+be used for the build and upload).
+.TP
+.RI \fB-m\fR maintaineraddress
Passed to dpkg-genchanges (eventually).
.TP
.RI \fB--ch:\fR option
if there is a _multi.changes file, dgit uses that.
.TP
.BI --existing-package= package
-dgit push needs to canonicalise the suite name. But currently
-there is no way to ask the archive to do this without knowing the
+dgit push needs to canonicalise the suite name. Sometimes, dgit
+lacks a way to ask the archive to do this without knowing the
name of an existing package. Without --new we can just use the
package we are trying to push. But with --new that will not work, so
we guess
.B dpkg
-or use the value of this option.
+or use the value of this option. This option is not needed with the
+default mechanisms for accessing the archive.
.TP
.BR -h | --help
Print a usage summary.
+.TP
+.BI --initiator-tempdir= directory
+dgit rpush uses a temporary directory on the invoking (signing) host.
+This option causes dgit to use
+.I directory
+instead. Furthermore, the specified directory will be emptied,
+removed and recreated before dgit starts, rather than removed
+after dgit finishes. The directory specified must be an absolute
+pathname.
.SH WORKFLOW - SIMPLE
It is always possible with dgit to clone or fetch a package, make
changes in git (using git-commit) on the suite branch
(currently, the dgit-repos project on Alioth). dgit fetch updates
the remote tracking branch for dgit/suite.
-dgit does not (currently) represent the orig tarball(s) in git; nor
-does it represent the patch statck of a `3.0 (quilt)' package. The
-orig tarballs are downloaded and kept in the parent directory, as with
-a traditional (non-gitish) dpkg-source workflow.
+dgit does not (currently) represent the orig tarball(s) in git. The
+orig tarballs are downloaded (by dgit clone) into the parent
+directory, as with a traditional (non-gitish) dpkg-source workflow.
+You need to retain these tarballs in the parent directory for dgit
+build and dgit push.
To a user looking at the archive, changes pushed using dgit look like
changes made in an NMU: in a `3.0 (quilt)' package the delta from the
.TP
.BI dgit-distro. distro .archive-query-default-component
.TP
-.BI dgit-distro. distro .sshdakls-user
+.BI dgit-distro. distro .sshpsql-user
.TP
-.BI dgit-distro. distro .sshdakls-host
+.BI dgit-distro. distro .sshpsql-host
.TP
-.BI dgit-distro. distro .sshdakls-dir
+.BI dgit-distro. distro .sshpsql-dbname
.TP
.BI dgit-distro. distro .ssh
.TP
alioth, so that they can be moved later if and when this turns out to
be a good idea.
-Debian Policy needs to be updated to describe the new Dgit .dsc
-field (and to specify that it is an RC bug for that field to refer
-to an unavailable commit).
-
-The method of canonicalising suite names is bizarre. See the
-.B --existing-package
-option for one of the implications.
-
dgit push should perhaps do `git push origin', or something similar,
by default.
Debian does not have a working rmadison server, so to find out what
version of a package is in the archive, or to canonicalise suite
-names, we ssh directly into the ftpmaster server.
+names, we ssh directly into the ftpmaster server and run psql there to
+access the database.
The mechanism for checking for and creating per-package repos on
alioth is a hideous bodge. One consequence is that dgit currently
autocommit to not appear on your HEAD, but instead only in the
remote tracking suite branch.
-There should at the very least be some advice in the manpage about how
-to use dgit when the signing key is not available on the same machine
-as the build host.
-
The option parser requires values to be cuddled to the option name.
-dgit assumes knowledge of the archive layout. There appears to be no
-sane way to find the path in the archive pool of the .dsc for a
-particular suite. I'm assured that the archive layout is a
-`well known algorithm' by now.
+dgit assumes knowledge of the archive database. (The information dgit
+needs is not currently available via any public online service with a
+well-defined interface, let alone a secure one.)
--dry-run does not always work properly, as not doing some of the git
fetches may result in subsequent actions being different. Doing a