From a1a9073c083036f1c3fd024c3b96ecbccd6b424c Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Sat, 11 Aug 2018 16:13:34 +0100 Subject: [PATCH] git-debrebase: merge: Refactor interchange merge-base computation We need to unpack this a bit so that we can insert some wrecknote stuff, which will come in a moment. Signed-off-by: Ian Jackson --- git-debrebase | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/git-debrebase b/git-debrebase index 1e8de529..f93adefc 100755 --- a/git-debrebase +++ b/git-debrebase @@ -1235,12 +1235,22 @@ sub walk ($;$$$) { # breakwater merge base as an ancestor. my @ibs = - grep { is_fast_fwd $bwb, $_ } grep /./, split /\n/, cmdoutput @ibcmd; - my ($ib) = @ibs - or $nomerge->("no suitable interchange merge base"); + + @ibs or confess 'internal error, expected anchor at least ?'; + + my $ib; + foreach my $tibix (0..$#ibs) { + my $tib = $ibs[$tibix]; + my $ff = is_fast_fwd $bwb, $tib; + next unless $ff; + next if $ib; + $ib = $tib; + } + + $ib or $nomerge->("no suitable interchange merge base"); $prline->(" VanillaMerge Base"); $prprdelim->(); -- 2.30.2