aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--builtin/receive-pack.c19
1 files changed, 13 insertions, 6 deletions
diff --git a/builtin/receive-pack.c b/builtin/receive-pack.c
index 3bdb1586d..0ccfb3d68 100644
--- a/builtin/receive-pack.c
+++ b/builtin/receive-pack.c
@@ -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);