X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=dgit.git;a=blobdiff_plain;f=git-debrebase;h=1e8de52941e10f68a80dc244642925ac0169cbd4;hp=35b75cd67ea2bc6de01e68a3621dc919efe96ce2;hb=3522f98a237df1650a2361f3545e36396bc6c797;hpb=2bfdf4a69e6ae3ce6b94f0d1ac13b1cde8b5a5c6 diff --git a/git-debrebase b/git-debrebase index 35b75cd6..1e8de529 100755 --- a/git-debrebase +++ b/git-debrebase @@ -846,6 +846,8 @@ sub mergedbreakwaters_anchor ($) { $best_anchor = $panchor if !defined $best_anchor or is_fast_fwd $best_anchor, $panchor; + fail "inconsistent anchors in merged-breakwaters $p->{CommitId}" + unless is_fast_fwd $panchor, $best_anchor; } return $best_anchor; } @@ -1197,7 +1199,7 @@ sub walk ($;$$$) { foreach my $p (@$ps) { $prline->(" VanillaMerge ".$p->{Ix}); if (!is_fast_fwd $p->{Anchor}, $best_anchor) { - $nomerge->('DivergentAnchor'); + $nomerge->('divergent anchors'); } elsif ($p->{Anchor} eq $best_anchor) { print $report " SameAnchor" if $report; } else { @@ -1215,14 +1217,14 @@ sub walk ($;$$$) { } if ($ok && $might_be_in_bw) { + # We could rewrite this to contaion the metadata + # declaring it to be MergedBreakwaters, but + # unnecessarily rewriting a merge seems unhelpful. $prline->(" VanillaMerge MergedBreakwaters"); $last_anchor = $best_anchor; $build_start->('MergedBreakwaters', $cur); } - $nomerge->("alleged merged-breakwater is not a breakwater") - unless $ty eq 'VanillaMerge'; - my $bwb = cmdoutput @bwbcmd; # OK, now we have a breakwater base, but we need the merge