chiark / gitweb /
git-debrebase: walk: Reintroduce the local $read_tree_upstream sub
[dgit.git] / git-debrebase.5.pod
index e445c0e6001354bd337d8b01f7b8859ed98150d1..d39ad9484986fb022e98e735a030d91f6e136063 100644 (file)
@@ -15,6 +15,8 @@ as a series of individual git commits,
 which can worked on with rebase,
 and also shared.
 
+=head2 DISCUSSION
+
 git-debrebase is designed to work well with dgit.
 git-debrebase can also be used in workflows without source packages,
 for example to work on Debian-format packages outside or alongside Debian.
@@ -27,6 +29,11 @@ provided by your upstream.
 However, use of git-debrebase in Debian does not make anything harder for
 derivatives, and it can make some things easier.
 
+When using gitk on branches managed by git-debrebase,
+B<gitk --date-order>, B<gitk --first-parent>
+and B<gitk -- :.> (or B<gitk .>)
+produce more useful output than the default.
+
 =head1 TERMINOLOGY
 
 =over
@@ -480,6 +487,48 @@ These patch files can be stripped out and/or regenerated as needed.
 
 =back
 
+=head1 ILLEGAL OPERATIONS
+
+Some git operations are not permitted in this data model.
+Performing them will break git-debrebase.
+
+=over
+
+=item General merges
+
+See L</OTHER MERGES>, above.
+
+=item git-rebase starting too soon, or without base argument
+
+git-rebase must not be invoked in such a way that
+the chosen base is before the anchor,
+or before the last pseudomerge.
+This is because git-rebase mangles merges.
+git rebase --preserve-merges is also dangerous.
+
+git-rebase without a base argument will often start too early.
+
+For these reasons,
+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,
+it is best to use the reflog to recover to a suitable
+good previous state.
+
+=item Editing debian/patches
+
+debian/patches is an output from git-debrebase,
+not an input.
+If you edit patches git-debrebase will complain
+and refuse to work.
+If you add patches your work is likely to be discarded.
+
+Instead of editing patches,
+use git-debrebase to edit the corresponding commits.
+
+=back
+
 =head1 COMMIT MESSAGE ANNOTATIONS
 
 git-debrebase makes annotations