From 2e4434dbec72dd4a042d2fc3beab9db88943b2c8 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Sun, 25 Mar 2018 12:53:59 +0100 Subject: [PATCH] git-debrebase: breakwater_of: permit unclean to be an fproblem Signed-off-by: Ian Jackson --- git-debrebase | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/git-debrebase b/git-debrebase index 54431a77..f79aef5f 100755 --- a/git-debrebase +++ b/git-debrebase @@ -494,12 +494,19 @@ sub classify ($) { return $unknown->("complex merge"); } -sub breakwater_of ($) { - my ($head) = @_; # must be laundered +sub breakwater_of ($;$) { + my ($head, $unclean_fproblem_tag) = @_; + # $head should be laundered; if not, $unclean_fproblem_tag controls: + # if falseish, calls fail; otherwise, calls fproblem and returns undef my $breakwater; my $unclean = sub { my ($why) = @_; - fail "branch needs laundering (run git-debrebase): $why"; + my $m = "branch needs laundering (run git-debrebase): $why"; + fail $m unless $unclean_fproblem_tag; + fproblem $unclean_fproblem_tag, $m; + $breakwater = undef; + no warnings qw(exiting); + last; }; for (;;) { my $cl = classify $head; -- 2.30.2