Hi Phillip,

On Fri, 13 Apr 2018, Phillip Wood wrote:

> On 13/04/18 11:12, Phillip Wood wrote:
> > @@ -3030,7 +3029,8 @@ static int pick_commits(struct todo_list *todo_list, 
> > struct replay_opts *opts)
> >                     return error(_("unknown command %d"), item->command);
> >  
> >             if (res < 0 && (item->command == TODO_LABEL ||
> > -                           item->command == TODO_RESET)) {
> > +                           item->command == TODO_RESET ||
> > +                           item->command == TODO_MERGE)) {
> 
> Unfortunately it's not as simple as that - we only want to reschedule if
> merge_recursive() fails, not if run_git_commit() does.

Correct. How about introducing a flag `reschedule` that is passed to
do_label(), do_reset() and do_merge()?

Seeing as do_reset() and do_merge() already have a replay_opts parameter,
we could add a field `needs_rescheduling` and pass the replay_opts also to
do_label().

Ciao,
Dscho

Reply via email to