X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=dgit.git;a=blobdiff_plain;f=git-debrebase;h=4bfe0952518214203c5e3ac397b27c53ceb93354;hp=af19583099526aa15a0042681753734639210d3f;hb=52b97bd1b16a5db0b3b58e4864b5fdd6fc5e2689;hpb=f0345187fe63a3ef7dcb4ccb90f2b2dd2d384a17 diff --git a/git-debrebase b/git-debrebase index af195830..4bfe0952 100755 --- a/git-debrebase +++ b/git-debrebase @@ -439,6 +439,48 @@ sub record_gdrlast ($$;$) { push @deferred_updates, "update $gdrlast $newvalue $oldvalue"; } +sub fail_unprocessable ($) { + my ($msg) = @_; + changedir $maindir; + my ($ffqs, $ffqm, $symref, $ffq_prev, $gdrlast) = ffq_prev_branchinfo(); + + my $mangled = <{Why} ? "; $cl->{Why}:": ':'). " (commit $cur) (d.". (join ' ', map { sprintf "%#x", $_->{Differs} } @@ -2421,12 +2463,14 @@ sub begin_convert_from () { snag 'already-converted', "ahead of debrebase-last, this is already managed by git-debrebase!" if $gdrlast_obj && is_fast_fwd $gdrlast_obj, $head; - return ($head, undef); + return ($head, { LastRef => $gdrlast, LastObj => $gdrlast_obj }); } sub complete_convert_from ($$$$) { my ($old_head, $new_head, $gi, $mrest) = @_; ffq_check $new_head; + record_gdrlast $gi->{LastRef}, $new_head, $gi->{LastObj} + if $gi->{LastRef}; snags_maybe_bail(); update_head_checkout $old_head, $new_head, $mrest; }