git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCHv12 03/10] receive-pack.c: move iterating over all commands outside execute_commands

From
Stefan Beller <sbeller@google.com>
Date
Jan 8, 2015, 03:23 UTC
Message-ID
<1420687404-13997-4-git-send-email-sbeller@google.com>
In-Reply-To
<1420687404-13997-1-git-send-email-sbeller@google.com>

This commit allows us in a later patch to easily distinguish between the non atomic way to update the received refs and the atomic way which is introduced in a later patch.

Signed-off-by: Stefan Beller <sbeller@google.com>
---
Notes:
    v10, v11, v12:
    no changes
    
    v9:
     new and shiny. But makes the next patch easier to review.
 builtin/receive-pack.c | 19 +++++++++++++------
 1 file changed, 13 insertions(+), 6 deletions(-)
diff --git a/builtin/receive-pack.c b/builtin/receive-pack.c
index 3bdb158..0ccfb3d 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);
-- 
2.2.1.62.g3f15098
Previous: Stefan BellerNext: Stefan Beller
Message 4 of 17 in “[PATCHv12 00/10] atomic pushes”
  1. Stefan BellerJan 8, 2015
  2. 01/10 receive-pack.c: shorten the execute_commands loop over all commandsStefan Beller, Jan 8, 2015
  3. 02/10 receive-pack.c: die instead of error in case of possible future bugStefan Beller, Jan 8, 2015
  4. 03/10 receive-pack.c: move iterating over all commands outside execute_commandsStefan Beller, Jan 8, 2015
  5. 04/10 receive-pack.c: move transaction handling in a central placeStefan Beller, Jan 8, 2015
  6. 05/10 receive-pack.c: add execute_commands_atomic functionStefan Beller, Jan 8, 2015
  7. 06/10 receive-pack.c: negotiate atomic push supportStefan Beller, Jan 8, 2015
  8. Junio C HamanoJan 8, 2015
  9. Eric SunshineJan 12, 2015
  10. Stefan BellerJan 12, 2015
  11. Junio C HamanoJan 13, 2015
  12. 07/10 send-pack: rename ref_update_to_be_sent to check_to_send_updateStefan Beller, Jan 8, 2015
  13. 08/10 send-pack.c: add --atomic command line argumentStefan Beller, Jan 8, 2015
  14. Junio C HamanoJan 12, 2015
  15. 09/10 push.c: add an --atomic argumentStefan Beller, Jan 8, 2015
  16. 10/10 t5543-atomic-push.sh: add basic tests for atomic pushesStefan Beller, Jan 8, 2015
  17. Eric SunshineJan 12, 2015

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.