receive-pack.c: move iterating over all commands outside execute_commands
[gitweb.git] / builtin / receive-pack.c
index 3bdb1586d6baf724eec198c98aaa95a6b4bc4dba..0ccfb3d689481eaa66828005ba2dca718dfd8595 100644 (file)
@@ -1064,6 +1064,18 @@ static void warn_if_skipped_connectivity_check(struct command *commands,
                die("BUG: connectivity check skipped???");
 }
 
+static void execute_commands_non_atomic(struct command *commands,
+                                       struct shallow_info *si)
+{
+       struct command *cmd;
+       for (cmd = commands; cmd; cmd = cmd->next) {
+               if (!should_process_cmd(cmd))
+                       continue;
+
+               cmd->error_string = update(cmd, si);
+       }
+}
+
 static void execute_commands(struct command *commands,
                             const char *unpacker_error,
                             struct shallow_info *si)
@@ -1098,12 +1110,7 @@ static void execute_commands(struct command *commands,
        free(head_name_to_free);
        head_name = head_name_to_free = resolve_refdup("HEAD", 0, sha1, NULL);
 
-       for (cmd = commands; cmd; cmd = cmd->next) {
-               if (!should_process_cmd(cmd))
-                       continue;
-
-               cmd->error_string = update(cmd, si);
-       }
+       execute_commands_non_atomic(commands, si);
 
        if (shallow_update)
                warn_if_skipped_connectivity_check(commands, si);