]> git.ipfire.org Git - thirdparty/git.git/commitdiff
sequencer: never reschedule on failed commit
authorPhillip Wood <phillip.wood@dunelm.org.uk>
Wed, 15 Jul 2026 15:21:57 +0000 (16:21 +0100)
committerJunio C Hamano <gitster@pobox.com>
Wed, 15 Jul 2026 19:16:21 +0000 (12:16 -0700)
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>
sequencer.c

index eaffa8ebb844ef65d73005b3856a42fa682a3453..1db844100ad0df9b42844d0d7f2caf4df63f0186 100644 (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;
        }