left on the local branch
.BI dgit/ suite
ready for work, and on the corresponding dgit remote tracking branch.
-Also, the
+The
.B origin
remote will be set up to point to the package's dgit-repos tree
for the distro to which
.I suite
belongs.
+
+For your convenience, the
+.B vcs-git
+remote will be set up from the package's Vcs-Git field, if there is
+one - but note that in the general case the history found there may be
+different to or even disjoint from dgit's view.
.TP
\fBdgit fetch\fR [\fIsuite\fP]
Consults the archive and git-repos to update the git view of
Tagging, signing and actually uploading should be left to dgit push.
.TP
+.B dgit clean
+Cleans the current working tree (according to the --clean= option in
+force).
+.TP
.B dgit help
Print a usage summary.
.TP
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. The build-host needs gnupg installed, with your
+public key in its keyring (but not your private key, obviously).
.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
Specifies a single additional option to pass, eventually, to
dpkg-genchanges.
.TP
-.RI \fB--dget=\fR program |\fB--dput=\fR program |...
+.RI \fB--curl=\fR program |\fB--dput=\fR program |...
Specifies alternative programs to use instead of
-.BR dget ,
+.BR curl ,
.BR dput ,
.BR debsign ,
.BR dpkg-source ,
For dgit, specifies the command to run on the remote host when dgit
rpush needs to invoke a remote copy of itself. (dgit also reinvokes
itself as the EDITOR for dpkg-source --commit; this is done using
-argv[0], and is not affected by --dget=).
+argv[0], and is not affected by --dgit=).
For ssh, the default value is taken from the
.B DGIT_SSH
.BR GIT_SSH )
is relevant.
.TP
-.RI \fB--dget:\fR option |\fB--dput:\fR option |...
+.RI \fB--curl:\fR option |\fB--dput:\fR option |...
Specifies a single additional option to pass to
-.BR dget ,
+.BR curl ,
.BR dput ,
.BR debsign ,
.BR dpkg-source ,
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
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
previous upload is recorded in a new patch constructed by dpkg-source.
+.SH READ-ONLY DISTROS
+Distros which do not maintain a set of dgit history git repositories
+can still be used in a read-only mode with dgit. Currently Ubuntu
+is configured this way.
.SH PACKAGE SOURCE FORMATS
If you are not the maintainer, you do not need to worry about the
source format of the package. You can just make changes as you like
See
also the --ssh= and --ssh: options.
.TP
-.BR gpg ", " dpkg- "..., " debsign ", " git ", " dget ", " dput ", " LWP::UserAgent
+.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
for details.
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.
fetches may result in subsequent actions being different. Doing a
non-dry-run dgit fetch first will help.
.SH SEE ALSO
-\fBdget\fP(1),
+\fBcurl\fP(1),
\fBdput\fP(1),
\fBdebsign\fP(1),
\fBgit-config\fP(1),