]> git.ipfire.org Git - thirdparty/git.git/commitdiff
submodule update: use die_message()
authorGlen Choo <chooglen@google.com>
Tue, 15 Mar 2022 21:09:20 +0000 (14:09 -0700)
committerJunio C Hamano <gitster@pobox.com>
Wed, 16 Mar 2022 22:07:43 +0000 (15:07 -0700)
Use die_message() to print the "fatal: " prefix instead of doing it in
git-submodule.sh and remove a now-unnecessary exit code from "git
submodule--helper run-update-procedure".

Also, since die_message() adds the newline for us, replace an invocation
of die_with_status() with printf + exit invocations that do not add a
newline, but are otherwise identical to die_with_status().

Helped-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Glen Choo <chooglen@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/submodule--helper.c
git-submodule.sh

index c885fc08f0635e9a9e0cdf87a6002ed1c851bf0e..8ba5e1e1f668906039069941ba00843379956941 100644 (file)
@@ -2366,40 +2366,35 @@ static int run_update_command(struct update_data *ud, int subforce)
        if (run_command(&cp)) {
                switch (ud->update_strategy.type) {
                case SM_UPDATE_CHECKOUT:
-                       printf(_("Unable to checkout '%s' in submodule path '%s'"),
-                              oid, ud->displaypath);
+                       die_message(_("Unable to checkout '%s' in submodule path '%s'"),
+                                   oid, ud->displaypath);
                        break;
                case SM_UPDATE_REBASE:
-                       printf(_("Unable to rebase '%s' in submodule path '%s'"),
-                              oid, ud->displaypath);
+                       die_message(_("Unable to rebase '%s' in submodule path '%s'"),
+                           oid, ud->displaypath);
                        break;
                case SM_UPDATE_MERGE:
-                       printf(_("Unable to merge '%s' in submodule path '%s'"),
-                              oid, ud->displaypath);
+                       die_message(_("Unable to merge '%s' in submodule path '%s'"),
+                           oid, ud->displaypath);
                        break;
                case SM_UPDATE_COMMAND:
-                       printf(_("Execution of '%s %s' failed in submodule path '%s'"),
-                              ud->update_strategy.command, oid, ud->displaypath);
+                       die_message(_("Execution of '%s %s' failed in submodule path '%s'"),
+                           ud->update_strategy.command, oid, ud->displaypath);
                        break;
                default:
                        BUG("unexpected update strategy type: %s",
                            submodule_strategy_to_string(&ud->update_strategy));
                }
-               /*
-                * NEEDSWORK: We are currently printing to stdout with error
-                * return so that the shell caller handles the error output
-                * properly. Once we start handling the error messages within
-                * C, we should use die() instead.
-                */
                if (must_die_on_failure)
-                       return 2;
-               /*
-                * This signifies to the caller in shell that the command
-                * failed without dying
-                */
+                       exit(128);
+
+               /* the command failed, but update must continue */
                return 1;
        }
 
+       if (ud->quiet)
+               return 0;
+
        switch (ud->update_strategy.type) {
        case SM_UPDATE_CHECKOUT:
                printf(_("Submodule path '%s': checked out '%s'\n"),
index aa8bdfca9def032152e613730e416e5f8243d167..a84143daaba8c1a271369f8b87c416a679701ebb 100755 (executable)
@@ -404,7 +404,7 @@ cmd_update()
                # exit codes for run-update-procedure:
                # 0: update was successful, say command output
                # 1: update procedure failed, but should not die
-               # 2 or 128: subcommand died during execution
+               # 128: subcommand died during execution
                # 3: no update procedure was run
                res="$?"
                case $res in
@@ -412,11 +412,12 @@ cmd_update()
                        say "$out"
                        ;;
                1)
-                       err="${err};fatal: $out"
+                       err="${err};$out"
                        continue
                        ;;
-               2|128)
-                       die_with_status $res "fatal: $out"
+               128)
+                       printf >&2 "$out"
+                       exit $res
                        ;;
                esac