diff options
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 |