chiark / gitweb /
manpages
[dgit.git] / dgit.1
diff --git a/dgit.1 b/dgit.1
index feb6d7a58a4e0662b19cf4aeb6ea09c6a15d9860..50cc3a6f7c4532b60da6a9efe3da340fb808e90b 100644 (file)
--- a/dgit.1
+++ b/dgit.1
@@ -4,29 +4,30 @@ dgit \- git integration with the Debian archive
 .
 .SH SYNOPSIS
 .B dgit
 .
 .SH SYNOPSIS
 .B dgit
-[\fIdgit\-options\fP] \fBclone\fP [\fIdgit\-options\fP]
-\fIpackage\fP [\fIsuite\fP] [\fB./\fP\fIdest-dir|\fB/\fP\fIdest-dir]
+[\fIdgit\-opts\fP] \fBclone\fP [\fIdgit\-opts\fP]
+\fIpackage\fP [\fIsuite\fP] [\fB./\fP\fIdir|\fB/\fP\fIdir]
 .br
 .B dgit
 .br
 .B dgit
-[\fIdgit\-options\fP] \fBfetch\fP|\fBpull\fP [\fIdgit\-options\fP]
+[\fIdgit\-opts\fP] \fBfetch\fP|\fBpull\fP [\fIdgit\-opts\fP]
 [\fIsuite\fP]
 .br
 .B dgit
 [\fIsuite\fP]
 .br
 .B dgit
-[\fIdgit\-options\fP] \fBbuild\fP
-[\fIgit\-buildpackage\-options\fP|\fIdpkg\-buildpackage\-options\fp]
+[\fIdgit\-opts\fP] \fBbuild\fP
+[\fIgit\-buildpackage\-opts\fP|\fIdpkg\-buildpackage\-opts\fp]
 .br
 .B dgit
 .br
 .B dgit
-[\fIdgit\-options\fP] \fBpush\fP [\fIdgit\-options\fP]
+[\fIdgit\-opts\fP] \fBpush\fP [\fIdgit\-opts\fP]
 [\fIsuite\fP]
 .SH DESCRIPTION
 .B dgit
 treats the Debian archive as a version control system, and
 bidirectionally gateways between the archive and git.  The git view of
 the package can contain the usual upstream git history, and will be
 [\fIsuite\fP]
 .SH DESCRIPTION
 .B dgit
 treats the Debian archive as a version control system, and
 bidirectionally gateways between the archive and git.  The git view of
 the package can contain the usual upstream git history, and will be
-augmented by commits representing uploads done without using dgit.
-This git history is stored in a canonical location
+augmented by commits representing uploads done by other developers not
+using dgit.  This git history is stored in a canonical location known
+as
 .B dgit-repos
 .B dgit-repos
-which lives outside the Debian archive.
+which lives outside the Debian archive (currently, on Alioth).
 
 .B dgit clone
 and
 
 .B dgit clone
 and
@@ -56,7 +57,7 @@ archive.
 You may use any suitable git workflow with dgit, provided you
 satisfy dgit's requirements:
 
 You may use any suitable git workflow with dgit, provided you
 satisfy dgit's requirements:
 
-dgit maintains what looks a bit like a remote called
+dgit maintains a pseudo-remote called
 .BR dgit ,
 with one branch per suite.  This remote cannot be used with
 plain git.
 .BR dgit ,
 with one branch per suite.  This remote cannot be used with
 plain git.
@@ -64,7 +65,7 @@ plain git.
 The
 .B dgit-repos
 repository for each package contains one ref per suite named
 The
 .B dgit-repos
 repository for each package contains one ref per suite named
-\fBdrefs/git/\fR\fIsuite\fR.  These should be pushed to only by
+\fBrefs/dgit/\fR\fIsuite\fR.  These should be pushed to only by
 dgit.  They are fast forwarding.  Each push on this branch
 corresponds to an upload (or attempted upload).
 
 dgit.  They are fast forwarding.  Each push on this branch
 corresponds to an upload (or attempted upload).
 
@@ -111,11 +112,12 @@ does not sign tags or uploads (meaningful only with push).
 .BI -p package
 Specifies that we should process source package
 .I package
 .BI -p package
 Specifies that we should process source package
 .I package
-rather than looking in debian/control.  Valid with dgit fetch
-and dgit pull, only.
+rather than looking in debian/control or debian/changelog.
+Valid with dgit fetch and dgit pull, only.
 .TP
 .BI -D
 .TP
 .BI -D
-Spew debugging information to stderr.
+Prints debugging information to stderr.  Repeating the option produces
+more output (currently, up to -DD is meaningfully different).
 .TP
 .BI -c name = value
 Specifies a git configuration option.  dgit itself is also controlled
 .TP
 .BI -c name = value
 Specifies a git configuration option.  dgit itself is also controlled
@@ -132,7 +134,7 @@ debsign.  Use repeatedly if multiple additional options are required.
 .BI -C changesfile
 Specifies the .changes file which is to be uploaded.  By default
 dgit push looks for single .changes file in the parent directory whose
 .BI -C changesfile
 Specifies the .changes file which is to be uploaded.  By default
 dgit push looks for single .changes file in the parent directory whose
-filename suggests they it is for the right package and version.
+filename suggests it is for the right package and version.
 .SH CONFIGURATION
 dgit looks at the following git config keys to control its behaviour.
 You may set them with git-config (either in system-global or per-tree
 .SH CONFIGURATION
 dgit looks at the following git config keys to control its behaviour.
 You may set them with git-config (either in system-global or per-tree
@@ -160,6 +162,10 @@ on the dgit command line.
 .TP
 .BI dgit-distro. distro .upload-host
 .TP
 .TP
 .BI dgit-distro. distro .upload-host
 .TP
+.BI dgit-distro. distro .mirror
+.TP
+.BI dgit-distro. distro .archive-query
+.TP
 .BI dgit-distro. distro .ssh
 .TP
 .BR dgit.default. *
 .BI dgit-distro. distro .ssh
 .TP
 .BR dgit.default. *
@@ -173,10 +179,16 @@ 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.
 
 sane way to find the path in the archive pool of the .dsc for a
 particular suite.
 
+We should be using some kind of vhost/vpath setup for the git repos on
+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 Vcs-Git-Master
 field (and to specify that it is an RC bug for that field to refer
 to an unavailable commit).
 
 Debian Policy needs to be updated to describe the new Vcs-Git-Master
 field (and to specify that it is an RC bug for that field to refer
 to an unavailable commit).
 
+dgit cannot currently introduce a package into a suite.
+
 dgit push should perhaps do `git push origin', or something similar,
 by default.
 
 dgit push should perhaps do `git push origin', or something similar,
 by default.
 
@@ -188,19 +200,21 @@ Debian Maintainers are currently not able to push, as there is not
 currently any mechanism for determining and honouring the archive's
 ideas about access control.  Currently only DDs can push.
 
 currently any mechanism for determining and honouring the archive's
 ideas about access control.  Currently only DDs can push.
 
-dgit's representation of format `3.0 (quilt)' source packages (even if
-they were supported) would not represent the patch stack.  Currently
-the patch series representation cannot round trip through the archive.
-Ideally dgit would represent a quilty package with an origin commit of
-some kind followed by the patch stack as a series of commits followed
-by a pseudo-merge (to make the branch fast-forwarding).  This would
-also mean a new `dgit rebase-prep' command or some such to turn such a
-fast-forwarding branch back into a rebasing patch stack, and a `force'
-option to dgit push (perhaps enabled automatically) which will make
-the required pseudo-merge.
+dgit's representation of format `3.0 (quilt)' source packages does not
+represent the patch stack.  Currently the patch series representation
+cannot round trip through the archive.  Ideally dgit would represent a
+quilty package with an origin commit of some kind followed by the
+patch stack as a series of commits followed by a pseudo-merge (to make
+the branch fast-forwarding).  This would also mean a new `dgit
+rebase-prep' command or some such to turn such a fast-forwarding
+branch back into a rebasing patch stack, and a `force' option to dgit
+push (perhaps enabled automatically by a note left by rebase-prep)
+which will make the required pseudo-merge.
 
 dgit's handling of .orig.tar.gz is not very sophisticated.  Ideally
 the .orig.tar.gz could be transported via the git repo as git tags.
 
 dgit's handling of .orig.tar.gz is not very sophisticated.  Ideally
 the .orig.tar.gz could be transported via the git repo as git tags.
+Doing this is made more complicated by the possibility of a `3.0
+(quilt)' package with multiple .orig tarballs.
 
 The error messages are often unhelpfully terse and tend to refer to
 line numbers in dgit.
 
 The error messages are often unhelpfully terse and tend to refer to
 line numbers in dgit.