arguments; this is assumed to be the case if the first argument
contains no : (except perhaps on in [ ], to support IPv6 address
literals).
+
+You will need similar enough versions of dgit on the build-host and
+the invocation host.
.TP
.B dgit quilt-fixup
Looks to see if the tree is one which dpkg-source cannot properly
files which are not in git, a subsequent dgit push will fail.
.TP
.BR --clean=dpkg-source | -wd
-Use dpkg-buildpackage to do the build, so that the source package
+Use dpkg-buildpackage to do the clean, so that the source package
is cleaned by dpkg-source running the package's clean target.
This is the default. It requires the package's build dependencies.
.TP
dgit push looks for single .changes file in the parent directory whose
filename suggests it is for the right package and version - or,
if there is a _multi.changes file, dgit uses that.
+
+If the specified
+.I changesfile
+pathname contains slashes, the directory part is also used as
+the value for
+.BR --build-products-dir ;
+otherwise, the changes file is expected in that directory (by
+default, in
+.BR .. ).
+.TP
+.BI --build-products-dir= directory
+Specifies where to find the built files to be uploaded.
+By default, dgit looks in the parent directory
+.BR .. ).
.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.
removed and recreated before dgit starts, rather than removed
after dgit finishes. The directory specified must be an absolute
pathname.
+.TP
+.BI --no-rm-on-error
+Do not delete the destination directory if clone fails.
.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
.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