{"thread":{"id":"4404","subject":"[PATCH] builtin-push: don't pass --thin to HTTP transport","startedAt":"2006-06-05T20:02:29Z","lastAt":"2006-06-05T20:02:29Z","messageCount":1,"participants":["Nick Hengeveld"],"isPatch":true,"patchVersion":1,"patchTotal":null},"messages":[{"id":"21275","messageId":"20060605200229.GA3938@reactrix.com","threadId":"4404","inReplyTo":null,"subject":"[PATCH] builtin-push: don't pass --thin to HTTP transport","fromName":"Nick Hengeveld","fromEmail":"nickh@reactrix.com","sentAt":"2006-06-05T20:02:29Z","receivedAt":"2006-06-05T20:02:29Z","isPatch":true,"sender":{"key":"nickh@reactrix.com","avatar":null},"body":"git-http-push does not currently use packs to transfer objects.\n\nSigned-off-by: Nick Hengeveld <nickh@reactrix.com>\n---\n builtin-push.c |   20 +++++++++++---------\n 1 files changed, 11 insertions(+), 9 deletions(-)\n\ndiff --git a/builtin-push.c b/builtin-push.c\nindex e530022..66b9407 100644\n--- a/builtin-push.c\n+++ b/builtin-push.c\n@@ -214,7 +214,7 @@ static int do_push(const char *repo)\n {\n \tconst char *uri[MAX_URI];\n \tint i, n;\n-\tint remote;\n+\tint common_argc;\n \tconst char **argv;\n \tint argc;\n \n@@ -231,23 +231,25 @@ static int do_push(const char *repo)\n \t\targv[argc++] = \"--force\";\n \tif (execute)\n \t\targv[argc++] = execute;\n-\tif (thin)\n-\t\targv[argc++] = \"--thin\";\n-\tremote = argc;\n-\targv[argc++] = \"dummy-remote\";\n-\twhile (refspec_nr--)\n-\t\targv[argc++] = *refspec++;\n-\targv[argc] = NULL;\n+\tcommon_argc = argc;\n \n \tfor (i = 0; i < n; i++) {\n \t\tint error;\n+\t\tint dest_argc = common_argc;\n+\t\tint dest_refspec_nr = refspec_nr;\n+\t\tconst char **dest_refspec = refspec;\n \t\tconst char *dest = uri[i];\n \t\tconst char *sender = \"git-send-pack\";\n \t\tif (!strncmp(dest, \"http://\", 7) ||\n \t\t    !strncmp(dest, \"https://\", 8))\n \t\t\tsender = \"git-http-push\";\n+\t\telse if (thin)\n+\t\t\targv[dest_argc++] = \"--thin\";\n \t\targv[0] = sender;\n-\t\targv[remote] = dest;\n+\t\targv[dest_argc++] = dest;\n+\t\twhile (dest_refspec_nr--)\n+\t\t\targv[dest_argc++] = *dest_refspec++;\n+\t\targv[dest_argc] = NULL;\n \t\terror = run_command_v(argc, argv);\n \t\tif (!error)\n \t\t\tcontinue;\n-- \n1.3.3.g423a-dirty\n"}]}