X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=git-debrebase;h=2520d52c5555f501eabd241b73393874c7d68294;hb=75d0b8d7275c035f76db79e7cf7e802e061a9bee;hp=cdd6348a122efc405a6de50d3338d6b1356da12d;hpb=4b9de539daea1c590687fcf144b0f36cc99609ed;p=dgit.git diff --git a/git-debrebase b/git-debrebase index cdd6348a..2520d52c 100755 --- a/git-debrebase +++ b/git-debrebase @@ -21,15 +21,7 @@ # 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 # @@ -438,6 +430,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");