From: Ian Jackson Date: Sun, 25 Mar 2018 11:53:59 +0000 (+0100) Subject: git-debrebase: breakwater_of: permit unclean to be an fproblem X-Git-Tag: archive/debian/5.0~97 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=dgit.git;a=commitdiff_plain;h=2e4434dbec72dd4a042d2fc3beab9db88943b2c8 git-debrebase: breakwater_of: permit unclean to be an fproblem Signed-off-by: Ian Jackson --- 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;