sequencer: never reschedule on failed commit

If "git commit" fails to run then run_git_commit() returns -1 which
causes the current command to be rescheduled. This is incorrect as
we have successfully picked the commit and have written all the state
files we need to successfully commit when the user continues. Fix this
by converting -1 to 1 which matches what do_merge() does.

Signed-off-by: Phillip Wood <phillip.wood@dunelm.org.uk>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
main
Phillip Wood 2026-07-15 16:21:57 +01:00 committed by Junio C Hamano
parent 1da85922fd
commit 18f5750beb
1 changed files with 6 additions and 0 deletions

View File

@ -2542,6 +2542,12 @@ fast_forward_edit:
res = run_git_commit(NULL, reflog_action, opts, flags);
*check_todo = 1;
}
/*
* If "git commit" failed to run then res == -1, but we don't
* want reschedule the last command because the picking the
* commit was successful.
*/
res = !!res;
}