X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=dgit.git;a=blobdiff_plain;f=dgit.1;h=88e98128b43a404d121ec17b6570a36ba23271b1;hp=fc883f21b94a74cbc9281867b83db71f4699b1ba;hb=5e83608976777bae7a99f0ea6cb3c97bb39253e8;hpb=878762dc1c47ef2f417b4ccde514b9b811c15dc3 diff --git a/dgit.1 b/dgit.1 index fc883f21..88e98128 100644 --- 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 -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 @@ -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 -\fBdgit git-build\fR ... +\fBdgit gbp-build\fR ... 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. @@ -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 +.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 . -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 @@ -243,7 +257,11 @@ servers. .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). @@ -302,8 +320,10 @@ The build-dependencies are not checked (due to 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. @@ -370,7 +390,7 @@ fixing up, dgit push will fail. .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. @@ -410,6 +430,7 @@ Specifies alternative programs to use instead of .BR gpg , .BR ssh , .BR dgit , +.BR git , 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. +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 -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 @@ -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. -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. @@ -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 -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). @@ -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. -it then looks .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 -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 +See also +.BR -k . .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 .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 @@ -678,6 +741,10 @@ interprets it the same way as git does. 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