X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=git-debrebase;h=75a8f51a96b1638bd6d4847c0b6f721bd113a51a;hb=67db3561da79c090d84228d06adb11546881bba8;hp=cdd6348a122efc405a6de50d3338d6b1356da12d;hpb=4b9de539daea1c590687fcf144b0f36cc99609ed;p=dgit.git
diff --git a/git-debrebase b/git-debrebase
index cdd6348a..75a8f51a 100755
--- a/git-debrebase
+++ b/git-debrebase
@@ -19,22 +19,9 @@
# along with this program. If not, see .
-# usages:
+# undocumented usages:
#
-# git-debrebase [] new-upstream-v0 \
-# [ \
-# [ ...] \
-# [...]]
-#
-# git-debrebase [ --] []
-# git-debrebase [] analyse
-# git-debrebase [] breakwater # prints breakwater tip only
-# git-debrebase [] stitch [--prose=]
-# git-debrebase [] launder-v0 # prints breakwater tip etc.
# git-debrebase [] downstream-rebase-launder-v0 # experimental
-#
-# git-debrebase [] convert-from-gbp []
-# git-debrebase [] convert-to-gbp
# problems / outstanding questions:
#
@@ -438,6 +425,23 @@ sub classify ($) {
# multi-orig upstreams are represented with an anchor merge
# from a single upstream commit which combines the orig tarballs
+ # Every anchor tagged this way must be a merge.
+ # We are relying on the
+ # [git-debrebase anchor: ...]
+ # commit message annotation in "declare" anchor merges (which
+ # do not have any upstream changes), to distinguish those
+ # anchor merges from ordinary pseudomerges (which we might
+ # just try to strip).
+ #
+ # However, the user is going to be doing git-rebase a lot. We
+ # really don't want them to rewrite an anchor commit.
+ # git-rebase trips up on merges, so that is a useful safety
+ # catch.
+ #
+ # BreakwaterStart commits are also anchors in the terminology
+ # of git-debrebase(5), but they are untagged (and always
+ # manually generated).
+
my $badanchor = sub { $unknown->("git-debrebase \`anchor' but @_"); };
@p == 2 or return $badanchor->("has other than two parents");
$haspatches and return $badanchor->("contains debian/patches");