diff options
author | Ian Jackson <ijackson@chiark.greenend.org.uk> | 2018-02-18 21:36:45 +0000 |
---|---|---|
committer | Ian Jackson <ijackson@chiark.greenend.org.uk> | 2018-06-16 16:06:59 +0100 |
commit | d76a377b48bbcc3dcaf85100588a2d5d4d151db4 (patch) | |
tree | 8ea05bd01aba2763edc7e9fe4cb9449afaf8fe4c /git-debrebase.5.pod | |
parent | 2c673e36ec3a2ab290db7588680dcfee82b24616 (diff) |
git-debrebase(5): more from README
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Diffstat (limited to 'git-debrebase.5.pod')
-rw-r--r-- | git-debrebase.5.pod | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/git-debrebase.5.pod b/git-debrebase.5.pod index 1c73ea3..ce98236 100644 --- a/git-debrebase.5.pod +++ b/git-debrebase.5.pod @@ -269,6 +269,68 @@ We use the commit message annotation to distinguish the special anchor merges from other general merges, so we can at least detect unsupported merges. +=head1 LEGAL OPERATIONS + +The following basic operations follows from this model +(refer to the diagram above): + +=over + +=item Append linear commits + +No matter the branch state, +it is always fine to simply git commit +(or cherry-pick etc.) +commits containing upstream file changes, packaging changes, +or both. + +=item Launder branch + +Record the previous tip in ffq-prev, +if we were stitched before. + +Reorganise the current branch so that the debian/ +changes come first, +turning C<-@-A-1-2-B3> into C<...@-A-B-1-2-3>. + +Drop pseudomerges and any quilt patches. + +=item Interactive rebase + +With a laundered branch, +one can do an interactive git rebase of the delta queue. + +=item New upstream rebase + +Start rebasing onto a new upstream version, +turning C<...#..@-A-B-1-2-3> into C<(...#..@-A-B-|...#'-)@'-1-2>. + +This has to be a wrapper around git-rebase, +which prepares @' and then tries to rebase 1 2 onto @'. +If the user asks for an interactive rebase, +@' doesn't appear in thec ommit list. + +Note that the construction of @' cannot fail +because @' simply copies debian/ from B and and everything else from #'. +(Rebasing A and B is undesirable. +We want the debian/ files to be non-rebasing +so that git log shows the packaging history.) + +=item Stitch + +Make a pseudomerge, +overwriting (and consuming) ffq-prev. + +=item Commit patches + +To generate a tree which can be represented as a +3.0 (quilt) .dsc source packages, +the delta queue must be reified inside the git tree +in B<debian/patches/>. +(These can be stripped out and/or regenerated as needed.) + +=back + =head1 TERMINOLOGY =over |