X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=dgit.git;a=blobdiff_plain;f=dgit.1;h=a01590601fe7f9cb28b1f5bc0a3d8858bd2ceb24;hp=0659562796a5e66b754a63a520ac6b0d58969825;hb=e24a276bae399a7b9ca6402f4aadb572edcfe055;hpb=80eae30139e06600e50a4e35f652b741a471bced diff --git a/dgit.1 b/dgit.1 index 06595627..a0159060 100644 --- a/dgit.1 +++ b/dgit.1 @@ -139,6 +139,9 @@ Runs with some suitable options. Options and arguments after gbp-build will be passed on to git-buildpackage. +By default this uses \-\-quilt=gbp, so HEAD should be a +git-buildpackage style branch, not a patches-applied branch. + Tagging, signing and actually uploading should be left to dgit push. .TP \fBdgit push\fR [\fIsuite\fP] @@ -273,46 +276,53 @@ rather than looking in debian/control or debian/changelog. Valid with dgit fetch and dgit pull, only. .TP .BR --clean=git " | " -wg -The source tree should be cleaned, before building a source package -with one of the build options, using -.BR "git clean -xdf" . -This will delete all files which are not tracked by git. Also, -wg -causes dgit to pass -.B -nc -to dpkg-buildpackage, which prevents the package's own clean target -from being run. - ---clean=git is useful when the package's clean target is troublesome; -the downside is simply that git clean may delete files you forgot to -git add. --clean=git can also avoid needing the build-dependencies. +Use +.BR "git clean -xdf" +to clean the working tree, +rather than running the package's rules clean target. + +This will delete all files which are not tracked by git. +(Including any files you forgot to git add.) + +.BI --clean= ... +options other than dpkg-source +are useful when the package's clean target is troublesome, or +to avoid needing the build-dependencies. .TP .BR --clean=git-ff " | " -wgf -The source tree should be cleaned, before building a source package -with one of the build options, using -.BR "git clean -xdff" . -This is like -"git clean -xdf" +Use +.BR "git clean -xdff" +to clean the working tree. +Like +git clean -xdf but it also removes any subdirectories containing different git trees (which only unusual packages are likely to create). .TP .BR --clean=check " | " -wc Merely check that the tree is clean (does not contain uncommitted -files), before building a source package. +files). +Avoids running rules clean, +and can avoid needing the build-dependencies. .TP .BR --clean=none " | " -wn -Do not clean the tree before building a source package. If there are +Do not clean the tree, nor check that it is clean. +Avoids running rules clean, +and can avoid needing the build-dependencies. +If there are files which are not in git, or if the build creates such files, a subsequent dgit push will fail. .TP .BR --clean=dpkg-source " | " -wd 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. +This is the default. +Requires the package's build dependencies. .TP .BR --clean=dpkg-source-d " | " -wdd Use .B dpkg-buildpackage -d -to do the clean, so that the source package +to do the clean, +so that the source package is cleaned by dpkg-source running the package's clean target. The build-dependencies are not checked (due to .BR -d ), @@ -419,6 +429,54 @@ Do not check whether up 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 +Tell dgit that you are using a nearly-dgit-compatible git branch, +aka a +.BR "maintainer view" , +and +do not want your branch changed by dgit. + +.B --quilt=gbp +is for use with git-buildpackage. +Your HEAD is expected to be +a patches-unapplied git branch, except that it might contain changes +to upstream .gitignore files. This is the default for dgit gbp-build. + +.B --quilt=dpm +is for use with git-dpm. +Your HEAD is expected to be +a patches-applied git branch, +except that it might contain changes to upstream .gitignore files. + +.B --quilt=unapplied +specifies that your HEAD is a patches-unapplied git branch (and +that any changes to upstream .gitignore files are represented as +patches in debian/patches). + +Instead, dgit quilt-fixup and dgit-push will automatically +convert your git branch into the right form, +and dgit push will push the +dgit-compatible form (the +.BR "dgit view" ) +to the dgit git server. +The dgit view will be visible to you +in the dgit remote tracking branches, but your own branch will +not be modified. +dgit will create a tag +.BI debian/ version +for the maintainer view, and the dgit tag +.BI archive/debian/ version +for the dgit view. + +.B If you have a branch like this it is essential to specify the appropriate --quilt= option! +This is because it is not always possible to tell: a patches-unapplied +git branch of a package with one patch, for example, looks just the +same as a patches-applied branch where the user has used git revert to +undo the patch, expecting to actually revert it. +If you fail to specify the right \-\-quilt option, +and you aren't too lucky, dgit will notice the problem and stop, +with a useful hint. +.TP .BI -D Prints debugging information to stderr. Repeating the option produces more output (currently, up to -DDDD is meaningfully different).