summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Jackson <ijackson@chiark.greenend.org.uk>2018-08-11 18:00:44 +0100
committerIan Jackson <ijackson@chiark.greenend.org.uk>2018-08-11 20:11:08 +0100
commit49e8f18bc896d9a9dd8aedb3495854c39439c86c (patch)
treeee0ec0af539d130a3080b587df0f5f2b99eb7e42
parentc57fd0c0dac97a1a3c683e479cc2d4d0fdc89060 (diff)
git-debrebase: merge: Introduce new merge_failed sub
And call it from $nomerge in walk. Now we produce a sane error message. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
-rwxr-xr-xgit-debrebase13
1 files changed, 12 insertions, 1 deletions
diff --git a/git-debrebase b/git-debrebase
index a6a02b1..abf9157 100755
--- a/git-debrebase
+++ b/git-debrebase
@@ -368,6 +368,16 @@ sub gbp_pq_export ($$$) {
# our own patch identification algorithm?
# this is an alternative strategy
+sub merge_failed ($$) {
+ my ($wrecknotes, $emsg) = @_;
+ my @m;
+ push @m, "Merge resolution failed: $emsg";
+
+ push @m, "See git-debrebase(1) section FAILED MERGES for suggestions.";
+ # ^ xxx this section does not yet exist
+ fail join '', map { "$_\n" } @m;
+}
+
sub mwrecknote ($$$) {
my ($wrecknotes, $reftail, $commitish) = @_;
confess unless defined $commitish;
@@ -1046,7 +1056,8 @@ sub walk ($;$$$) {
};
my $nomerge = sub {
- fail "something useful about failed merge attempt @_ xxx".Dumper($cl);
+ my ($emsg) = @_;
+ merge_failed $cl->{MergeWreckNotes}, $emsg;
};
my $mwrecknote = sub { &mwrecknote($cl->{MergeWreckNotes}, @_); };