X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=dgit.git;a=blobdiff_plain;f=git-debrebase.1.pod;h=273ef47dc1c13ee465d59950783a1f495b63763d;hp=8f092c8ce360a15b52133dcd757b79ae89134992;hb=60f3915b54a86a37a51f6ba5e5ec204bd58c8d8c;hpb=f58777f379b8fea92d8ae4f80c1bba3299d951b3 diff --git a/git-debrebase.1.pod b/git-debrebase.1.pod index 8f092c8c..273ef47d 100644 --- a/git-debrebase.1.pod +++ b/git-debrebase.1.pod @@ -15,11 +15,11 @@ Debian packages based on upstream source code. This is the command line reference. Please read the tutorial -L. +L. For background, theory of operation, and definitions see L. -You should read this manpage in conjunction with +You should read this manpage in cojnunction with L, which defines many important terms used here. @@ -29,10 +29,13 @@ which defines many important terms used here. =item git-debrebase [-- ] +=item git-debrebase [-i ] + Unstitches and launders the branch. (See L below.) -Then optionally edits the Debian delta queue, +Then, if any git-rebase options were supplied, +edits the Debian delta queue, using git-rebase, by running git rebase @@ -48,24 +51,56 @@ If you abort the git-rebase, the branch will still have been laundered, but everything in the rebase will be undone. +The options for git-rebase must either start with C<-i>, +or be prececded by C<-->, +to distinguish them from options for git-debrebase. + +=item git-debrebase status + +Analyses the current branch, +both in terms of its contents, +and the refs which are relevant to git-debrebase, +and prints a human-readable summary. + +Please do not attempt to parse the output; +it may be reformatted or reorganised in the future. +Instead, +use one of the L +described below. + =item git-debrebase conclude -Launder and restitch the branch, -consuming any ffq-prev. +Finishes a git-debrebase session, +tidying up the branch and making it fast forward again. -If the branch is already laundered and stitched, it is an error, +Specifically: if the branch is unstitched, +launders and restitches it, +making a new pseudomerge. +Otherwise, it is an error, unless --noop-ok. +=item git-debrebase quick + +Unconditionally launders and restitches the branch, +consuming any ffq-prev +and making a new pseudomerge. + +If the branch is already laundered and stitched, does nothing. + +=item git-debrebase prepush [--prose=] + =item git-debrebase stitch [--prose=] -Stitch the branch, +Stitches the branch, consuming ffq-prev. +This is a good command to run before pushing to a git server. If there is no ffq-prev, it is an error, unless --noop-ok. -It is a snag (see B<-f>) if the branch is not laundered. +You should consider using B instead, +because that launders the branch too. -=item git-debrebase new-upstream-v0 [...] +=item git-debrebase new-upstream [...] Rebases the delta queue onto a new upstream version. In detail: @@ -100,6 +135,12 @@ If you git-rebase --abort, the whole new upstream operation is aborted, except for the laundering. + +may be whole new Debian version, including revision, +or just the upstream part, +in which case -1 will be appended +to make the new Debian version. + The are, optionally, in order: =over @@ -107,7 +148,10 @@ The are, optionally, in order: =item The new upstream branch (or commit-ish). -Default is C. +The default is to look for one of these tags, in this order: +U vU upstream/U; +where U is the new upstream version. +(This is the same algorithm as L.) It is a snag if the upstream contains a debian/ directory; if forced to proceed, @@ -161,10 +205,35 @@ L, L, L and L may be able to help. -This subcommand has -v0 in its name because we are not yet sure -that its command line syntax is optimal. -We may want to introduce an incompatible replacement syntax -under the name C. +=item git-debrebase make-patches [--quiet-would-amend] + +Generate patches in debian/patches/ +representing the changes made to upstream files. + +It is not normally necessary to run this command explicitly. +When uploading to Debian, +dgit and git-debrebase +will cooperate to regenerate patches as necessary. +When working with pure git remotes, +the patches are not needed. + +Normally git-debrebase make-patches will +require a laundered branch. +(A laundered branch does not contain any patches.) +But if there are already some patches made by +git-debrebase make-patches, +and all that has happened is that more +changes to upstream files have been committed, +running it again can add the missing patches. + +If the patches implied by the current branch +are not a simple superset of those already in debian/patches, +make-patches will fail with exit status 7, +and an error message. +(The message can be suppress with --quiet-would-amend.) +If the problem is simply that +the existing patches were not made by git-debrebase, +using dgit quilt-fixup instead should succeed. =item git-debrebase convert-from-gbp [] @@ -188,9 +257,18 @@ This check exists to detect certain likely user errors, but if this situation is true and expected, forcing it is fine. +git-debrebase will try to look for the dgit archive view +of the most recent release, +and if it finds it will make a pseduomerge so that +your new git-debrebase view is appropriately fast forward. + The result is a well-formed git-debrebase interchange branch. The result is also fast-forward from the gbp branch. +It is a snag if the new branch looks like it will have diverged, +just as for a laundering/unstitching call to git-debrebase; +See L, below. + Note that it is dangerous not to know whether you are dealing with a gbp patches-unappled branch containing quilt patches, or a git-debrebase interchange branch. @@ -280,7 +358,7 @@ Turns snag(s) with id into warnings. Some troublesome things which git-debrebase encounters are Bs. (The specific instances are discussed -in the text for the relvant operation.) +in the text for the relevant operation.) When a snag is detected, a message is printed to stderr containing the snag id