X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=dgit.git;a=blobdiff_plain;f=git-debrebase.5.pod;h=f181a40ec50a543472e04f079785a4435c67de51;hp=fb9cff297f099d4252b639ca4bc4afc34e2cb898;hb=78207a7720cb29b1640232afd81bed0fa313f7f6;hpb=42a42572cb11e5481d51fecc94daa1ca8f39b2da diff --git a/git-debrebase.5.pod b/git-debrebase.5.pod index fb9cff29..f181a40e 100644 --- a/git-debrebase.5.pod +++ b/git-debrebase.5.pod @@ -116,11 +116,13 @@ state, which means it has a more particular special form convenient for manipulating the delta queue. -=head1 BRANCH CONTENTS +=head1 BRANCH CONTENTS - DETAILED SPECIFICATION It is most convenient to describe the -B -state first. +B +branch first. +A breakwater is B, +but is not usually named by a ref. It contains B (ancestors first): =over @@ -151,6 +153,18 @@ Zero or more single-parent commits containing only packaging changes. (And no quilt patch changes.) +=back + +The +B +branch state is B. +A laundered branch is based on a breakwater +but also contains, additionally, +B the breakwater, +a representation of the delta queue: + +=over + =item Delta queue commits Zero or more single-parent commits @@ -158,13 +172,14 @@ contaioning only changes to upstream files. =back -The +An B (unlaundered) -branch state is the same, +branch state is also B. +It has the same contents as the laundered state, except that it may contain, additionally, -in B: +in B: =over @@ -188,9 +203,12 @@ they are deleted when branches are laundered. =back -The +Finally, an B -branch state is the same, but may additionally contain +branch is B. +It has the same contents as an +unlaundered branch state, +but may (and usually will) additionally contain (in some order, possibly intermixed with the extra commits which may be found on an unstitched unlaundered branch): @@ -257,6 +275,12 @@ the interchange and breakwater branches may be identical, in which case the unstitched branch is fast forward from the interchange branch and no pseudomerge is needed. +When ffq-prev is not present, +C records some ancestor of refs/B, +(usually, the result of last stitch). +This can be used to quickly determine whether refs/B +is being maintained in git-debrebase form. + =head1 OTHER MERGES Note that the representation described here does not permit @@ -304,7 +328,8 @@ or both. =item Launder branch Record the previous tip in ffq-prev, -if we were stitched before. +if we were stitched before +(and delete debrebase-last). Reorganise the current branch so that the packaging changes come first, @@ -340,7 +365,8 @@ Make a pseudomerge, whose contributing parent to is the unstitched branch and whose overwritten parent is ffq-prev, -consuming ffq-prev in the process. +consuming ffq-prev in the process +(and writing debrebase-last instead). Ideally the contributing parent would be a laundered branch, or perhaps a laundered branch with a quilt patch addition commit.