git-debrebase has one primary branch,
the B<interchange branch>.
-This branch is found on Debian contributor's workstations
+This branch is found on Debian contributors' workstations
(typically, a maintainer would call it B<master>),
in the Debian dgit git server as the suite branch (B<dgit/dgit/sid>)
and on other git servers which support Debian work
The breakwater does not contain any representation of
the delta queue (not even debian/patches).
The part of the breakwater processed by git-debrebase
-is the part since the most reecent B<anchor>,
+is the part since the most recent B<anchor>,
which is usually a special merge generated by git-debrebase.
When working, locally,
=item Delta queue commits
Zero or more single-parent commits
-contaioning only changes to upstream files.
+containing only changes to upstream files.
=back
It has the same contents as the laundered state,
except that it may contain,
additionally,
-in B<in any order but after the breakwater>:
+B<in any order but after the breakwater>:
=over
When ffq-prev is not present,
C<refs/debrebase-last/B> 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.
+This is used for status printing and some error error checks -
+especially for printing guesses about what a problem is.
+To determine whether a branch
+is being maintained in git-debrebase form
+it is necessary to walk its history.
=head1 OTHER MERGES
=head1 LEGAL OPERATIONS
-The following basic operations follows from this model
+The following basic operations follow from this model
(refer to the diagram above):
=over
=item Stitch
Make a pseudomerge,
-whose contributing parent to is the unstitched branch
+whose contributing parent is the unstitched branch
and
whose overwritten parent is ffq-prev,
consuming ffq-prev in the process
=item Commit quilt patches
To generate a tree which can be represented as a
-3.0 (quilt) .dsc source packages,
+3.0 (quilt) .dsc source package,
the delta queue must be reified inside the git tree
in B<debian/patches/>.
These patch files can be stripped out and/or regenerated as needed.
it is better to use git-debrebase and
let it choose the base
for your rebase.
-If you do realise you have make this mistake,
+If you do realise you have made this mistake,
it is best to use the reflog to recover to a suitable
good previous state.
Instead of editing patches,
use git-debrebase to edit the corresponding commits.
+=item Renaming (etc.) branch while unstitched
+
+The previous HEAD,
+which will be pseudomerged over
+by operations like git-debrebase stitch,
+is recorded in a ref name dervied from your branch name.
+
+If you rename unstitched branches,
+this information can get out of step.
+
+Conversely,
+creating a new branch from an unstitched branch
+is good for making a branch to play about in,
+but the result cannot be stitched.
+
=back
=head1 COMMIT MESSAGE ANNOTATIONS
The general form is
- [git-debrebase[ COMMIT-TYPE [ ARGS...]]: PROSE, MORE PROSE]
+ [git-debrebase COMMIT-TYPE [ ARGS...]: PROSE, MORE PROSE]
git-debrebase treats anything after the colon as a comment,
paying no attention to PROSE.
The full set of annotations is:
- [git-debrebase: split mixed commit, debian part]
- [git-debrebase: split mixed commit, upstream-part]
- [git-debrebase: convert dgit import, debian changes]
+ [git-debrebase split: mixed commit, debian part]
+ [git-debrebase split: mixed commit, upstream-part]
+ [git-debrebase onvert dgit import: debian changes]
[git-debrebase anchor: convert dgit import, upstream changes]
[git-debrebase upstream-combine . PIECE[ PIECE...]: new upstream]
[git-debrebase anchor: new upstream NEW-UPSTREAM-VERSION, merge]
- [git-debrebase: new upstream NEW-UPSTREAM-VERSION, changelog]
- [git-debrebase: export and commit patches]
+ [git-debrebase changelog: new upstream NEW-UPSTREAM-VERSION]
+ [git-debrebase make-patches: export and commit patches]
[git-debrebase convert-from-gbp: drop patches]
[git-debrebase anchor: declare upstream]
[git-debrebase merged-breakwater: constructed from vanilla merge]
[git-debrebase convert-to-gbp: commit patches]
+ [git-debrebase convert-from-dgit-view upstream-import-convert: VERSION]
+ [git-debrebase convert-from-dgit-view drop-patches]
Only anchor merges have the C<[git-debrebase anchor: ...]> tag.
Single-parent anchors are not generated by git-debrebase,