diff --git a/sequencer.c b/sequencer.c index 33c4c9008d..05f19b6ba0 100644 --- a/sequencer.c +++ b/sequencer.c @@ -1918,6 +1918,12 @@ static int pick_commits(struct todo_list *todo_list, struct replay_opts *opts) 1); res = do_pick_commit(item->command, item->commit, opts, is_final_fixup(todo_list)); + if (is_rebase_i(opts) && res < 0) { + /* Reschedule */ + todo_list->current--; + if (save_todo(todo_list, opts)) + return -1; + } if (item->command == TODO_EDIT) { struct commit *commit = item->commit; if (!res)