]> git.ipfire.org Git - thirdparty/git.git/commitdiff
rebase: use our standard error return value
authorPhillip Wood <phillip.wood@dunelm.org.uk>
Tue, 21 Sep 2021 10:24:05 +0000 (10:24 +0000)
committerJunio C Hamano <gitster@pobox.com>
Wed, 22 Sep 2021 19:04:51 +0000 (12:04 -0700)
Git uses −1 to signal an error. The builtin rebase converts these to
+1 all over the place using !! (presumably because the in the scripted
version an error was signalled by +1). This is confusing and clutters
the code, we only need to convert the value when the function returns.

Signed-off-by: Phillip Wood <phillip.wood@dunelm.org.uk>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/rebase.c

index eb01f4d790b02e52ddc919d7bbc92647e1c41299..8c810d4959328b97ce28e015dff0a3a685a1c3d4 100644 (file)
@@ -1575,7 +1575,7 @@ int cmd_rebase(int argc, const char **argv, const char *prefix)
                        die(_("could not move back to %s"),
                            oid_to_hex(&options.orig_head));
                remove_branch_state(the_repository, 0);
-               ret = !!finish_rebase(&options);
+               ret = finish_rebase(&options);
                goto cleanup;
        }
        case ACTION_QUIT: {
@@ -1584,11 +1584,11 @@ int cmd_rebase(int argc, const char **argv, const char *prefix)
                        struct replay_opts replay = REPLAY_OPTS_INIT;
 
                        replay.action = REPLAY_INTERACTIVE_REBASE;
-                       ret = !!sequencer_remove_state(&replay);
+                       ret = sequencer_remove_state(&replay);
                } else {
                        strbuf_reset(&buf);
                        strbuf_addstr(&buf, options.state_dir);
-                       ret = !!remove_dir_recursively(&buf, 0);
+                       ret = remove_dir_recursively(&buf, 0);
                        if (ret)
                                error(_("could not remove '%s'"),
                                       options.state_dir);
@@ -1960,7 +1960,7 @@ int cmd_rebase(int argc, const char **argv, const char *prefix)
 
        if (require_clean_work_tree(the_repository, "rebase",
                                    _("Please commit or stash them."), 1, 1)) {
-               ret = 1;
+               ret = -1;
                goto cleanup;
        }
 
@@ -1995,7 +1995,7 @@ int cmd_rebase(int argc, const char **argv, const char *prefix)
                                               RESET_HEAD_RUN_POST_CHECKOUT_HOOK,
                                               NULL, buf.buf,
                                               DEFAULT_REFLOG_ACTION) < 0) {
-                                       ret = !!error(_("could not switch to "
+                                       ret = error(_("could not switch to "
                                                        "%s"),
                                                      options.switch_to);
                                        goto cleanup;
@@ -2010,7 +2010,7 @@ int cmd_rebase(int argc, const char **argv, const char *prefix)
                        else
                                printf(_("Current branch %s is up to date.\n"),
                                       branch_name);
-                       ret = !!finish_rebase(&options);
+                       ret = finish_rebase(&options);
                        goto cleanup;
                } else if (!(options.flags & REBASE_NO_QUIET))
                        ; /* be quiet */
@@ -2088,7 +2088,7 @@ int cmd_rebase(int argc, const char **argv, const char *prefix)
                           RESET_HEAD_REFS_ONLY, "HEAD", msg.buf,
                           DEFAULT_REFLOG_ACTION);
                strbuf_release(&msg);
-               ret = !!finish_rebase(&options);
+               ret = finish_rebase(&options);
                goto cleanup;
        }
 
@@ -2102,7 +2102,7 @@ int cmd_rebase(int argc, const char **argv, const char *prefix)
        options.revisions = revisions.buf;
 
 run_rebase:
-       ret = !!run_specific_rebase(&options, action);
+       ret = run_specific_rebase(&options, action);
 
 cleanup:
        strbuf_release(&buf);
@@ -2113,5 +2113,5 @@ cleanup:
        free(options.strategy);
        strbuf_release(&options.git_format_patch_opt);
        free(squash_onto_name);
-       return ret;
+       return !!ret;
 }