X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;ds=sidebyside;f=dgit.1;h=bec8f975aa5f89f3a0510c83714498a054c5118b;hb=HEAD;hp=81588bc35f8d0796ef9ebfbd2e9093bac7a8380b;hpb=53fb22478f70f7007e9c19cccc8d819c50422c57;p=dgit.git diff --git a/dgit.1 b/dgit.1 index 81588bc3..bec8f975 100644 --- a/dgit.1 +++ b/dgit.1 @@ -192,10 +192,6 @@ passed on to sbuild. The output is left in .IR package \fB_\fR version \fB_multi.changes\fR. .IP -Note that by default -sbuild does not build arch-independent packages. -You probably want to pass \-A, to request those. -.IP Tagging, signing and actually uploading should be left to dgit push. .TP \fBdgit pbuilder\fR [\fIdebbuildopts\fP] @@ -631,7 +627,8 @@ This could perhaps be used to detect bugs in your rules clean target. .TP .BR -N " | " --new 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 +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 @@ -642,6 +639,18 @@ include the changes from your working tree. This can be useful with build, if you plan to commit later. (dgit push will still ensure that the .dsc you upload and the git tree you push are identical, so this option won't make broken pushes.) + +Note that this does +.BR not +prevent dgit from cleaning your tree, so if the changes in your +working tree are in the form of untracked files, those might still be +deleted, especially with --clean=git. +If you want to include untracked files in the build, you can +use --clean=none or --clean=dpkg-source[-d] +in addition to --include-dirty. +Note that this +combination can fail if the untracked files are under +\fIdebian/patches/\fR. .TP .BR --ignore-dirty Deprecated alias for --include-dirty. @@ -667,6 +676,8 @@ unless you know what you are doing. This option is useful if you are the maintainer, and you have incorporated NMU changes into your own git workflow in a way that doesn't make your branch a fast forward from the NMU. +It can also be useful when there was an upload made without dgit +since the most recent upload made with dgit. This option is also usually necessary the first time a package is pushed with dgit push @@ -695,7 +706,7 @@ of git merge -s ours) to stitch the archive's version into your own git history, so that your push is a fast forward from the archive. (In quilt mode -.BR gbp ", " dpm ", " unpatched " or " baredebian , +.BR gbp ", " dpm ", " unpatched " or " baredebian *, implying a split between the dgit view and the maintainer view, the pseudo-merge will appear only in the dgit view.) .TP @@ -778,10 +789,16 @@ The meanings of understood in the context of Debian are discussed below: .TP .BR --deliberately-not-fast-forward -Declare that you are deliberately rewinding history. When pushing to -Debian, use this when you are making a renewed upload of an entirely +Declare that you are deliberately rewriting history. +This could be because your branch is not fast forward from the +dgit server history, +or not fast forward from a locally-synthesised dsc import. + +When pushing to Debian, +use this only when you are making a renewed upload of an entirely new source package whose previous version was not accepted for release -from NEW because of problems with copyright or redistributibility. +from NEW because of problems with copyright or redistributibility; +or, exceptionally, for the very first upload with dgit. When split view is in operation, this also prevents the construction by dgit of a pseudomerge @@ -804,7 +821,7 @@ never-accepted) versions in the git history of your current push, were rejected by ftpmaster for copyright or redistributability reasons. .TP .BR --deliberately-fresh-repo -Declare that you are deliberately rewinding history and want to +Declare that you are deliberately rewriting history and want to throw away the existing repo. Not relevant when pushing to Debian, as the Debian server will do this automatically when necessary. .TP @@ -823,7 +840,7 @@ with as ancestor a patches-applied branch. .BR --quilt=auto When fixing up source format `3.0 (quilt)' metadata, prefer to generate a linear patch stack -(as with --quilt=auto) +(as with --quilt=linear) but if that doesn't seem possible, try to generate a single squashed patch for all the changes made in git (as with --quilt=smash). @@ -853,7 +870,7 @@ Do not check whether source format `3.0 (quilt)' metadata needs fixing up. If you use this option and the metadata did in fact need fixing up, dgit push will fail. .TP -.BR -- [ quilt= ] gbp " | " -- [ quilt= ] dpm " | " --quilt=unapplied " | " -- [ quilt= ] baredebian +.BR -- [ quilt= ] gbp " | " -- [ quilt= ] dpm " | " --quilt=unapplied " | " -- [ quilt= ] baredebian [ +git | +tarball ] Tell dgit that you are using a nearly-dgit-compatible git branch, aka a .BR "maintainer view" , @@ -886,14 +903,31 @@ that any changes to upstream .gitignore files are represented as patches in debian/patches). .B --quilt=baredebian +(or its alias +.BR --quilt=baredebian+git ) specifies that your HEAD contains only a debian/ directory, -with any changes to upstream .gitignore files are represented as +with any changes to upstream files represented as patches in debian/patches. The upstream source must be available in git, by default, in a suitably named git tag; see --upstream-commitish. - -With --quilt=gbp|dpm|unapplied|baredebian, +In this mode, dgit cannot check that +all edited upstream files are properly represented as patches: +dgit relies on +debian/patches being correct. + +.B --quilt=baredebian+tarball +is like --quilt=baredebian, +but is used when there is no appropriate upstream git history. +To construct the dgit view, +dgit will import your orig tarballs' contents into git. +In this mode, dgit cannot check that +the upstream parts of your upload correspond to what you intend: +dgit relies on +the right orig tarball(s) existing, and +debian/patches being correct. + +With --quilt=gbp|dpm|unapplied|baredebian*, dgit push (or precursors like quilt-fixup and build) will automatically generate a conversion of your git branch into the right form. dgit push will push the @@ -957,7 +991,7 @@ to make a correct `3.0 (quilt)' source package. is the default, and splits the view only when needed: i.e., when you are working with a `3.0 (quilt)' source package and a splitting quilt mode: -\-\-[quilt=]gbp, dpm, unpatched or baredebian. +\-\-[quilt=]gbp, dpm, unpatched or baredebian*. .B always splits the view regardless of the source format and the quilt mode. @@ -1262,6 +1296,13 @@ The result is a fresh import, discarding the git history that the person who pushed that .dsc was working with. .TP +.B \-\-force-reusing-version +Carry on even though this involves reusing a version number +of a previous push or upload. +It is normally best to give different versions different numbers. +Some servers (including, usually, the Debian server) +will reject attempts to reuse or replace already-pushed versions. +.TP .B \-\-force-uploading-binaries Carry on and upload binaries @@ -1298,6 +1339,12 @@ Force on or off the use of the absurd git-apply emulation when running gbp pq import when importing a package from a .dsc. See Debian bug #841867. +.TP +.BR \-\-for\-push +Override the dgit-distro.distro.readonly configuration setting, +to specify that we have read/write access +and should use the corresponding git and achieve access approach +even if the operation is a read-only one. .SH CONFIGURATION dgit can be configured via the git config system. You may set keys with git-config (either in system-global or per-tree @@ -1323,6 +1370,10 @@ may be a glob pattern. .TP .BI dgit.default.distro " distro" The default distro for an unknown suite. + +This is only used if no +.BI /usr/share/distro-info/ somedistro .csv +mentions the specified suite. .TP .BI dgit.default.default-suite " suite" The default suite (eg for clone). @@ -1442,7 +1493,7 @@ or when pushing and .TP .BI dgit-distro. distro .git-create " " ssh-cmd | true .TP -.BR dgit-distro. \fIdistro\fR .archive-query " " ftpmasterapi: " | " madison: "\fIdistro\fR | " dummycat: "\fI/path\fR | " sshpsql: \fIuser\fR @ \fIhost\fR : \fIdbname\fR +.BR dgit-distro. \fIdistro\fR .archive-query " " ftpmasterapi: " | " madison: "\fIdistro\fR | " dummycat: "\fI/path\fR | " sshpsql: \fIuser\fR @ \fIhost\fR : \fIdbname\fR " " | " aptget:" .TP .BR dgit-distro. \fIdistro\fR .archive-query- ( url | tls-key | curl-ca-args ) .TP @@ -1490,7 +1541,7 @@ also the \-\-ssh= and \-\-ssh: options. 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 +.BR gpg ", " dpkg- "..., " debsign ", " git ", [" lib ] curl ", " dput and other subprograms and modules used by dgit are affected by various environment variables. Consult the documentation for those programs for details.