git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] builtin-push: don't pass --thin to HTTP transport
@ 2006-06-05 20:02 Nick Hengeveld
  0 siblings, 0 replies; only message in thread
From: Nick Hengeveld @ 2006-06-05 20:02 UTC (permalink / raw)
  To: git

git-http-push does not currently use packs to transfer objects.

Signed-off-by: Nick Hengeveld <nickh@reactrix.com>
---
 builtin-push.c |   20 +++++++++++---------
 1 files changed, 11 insertions(+), 9 deletions(-)

diff --git a/builtin-push.c b/builtin-push.c
index e530022..66b9407 100644
--- a/builtin-push.c
+++ b/builtin-push.c
@@ -214,7 +214,7 @@ static int do_push(const char *repo)
 {
 	const char *uri[MAX_URI];
 	int i, n;
-	int remote;
+	int common_argc;
 	const char **argv;
 	int argc;
 
@@ -231,23 +231,25 @@ static int do_push(const char *repo)
 		argv[argc++] = "--force";
 	if (execute)
 		argv[argc++] = execute;
-	if (thin)
-		argv[argc++] = "--thin";
-	remote = argc;
-	argv[argc++] = "dummy-remote";
-	while (refspec_nr--)
-		argv[argc++] = *refspec++;
-	argv[argc] = NULL;
+	common_argc = argc;
 
 	for (i = 0; i < n; i++) {
 		int error;
+		int dest_argc = common_argc;
+		int dest_refspec_nr = refspec_nr;
+		const char **dest_refspec = refspec;
 		const char *dest = uri[i];
 		const char *sender = "git-send-pack";
 		if (!strncmp(dest, "http://", 7) ||
 		    !strncmp(dest, "https://", 8))
 			sender = "git-http-push";
+		else if (thin)
+			argv[dest_argc++] = "--thin";
 		argv[0] = sender;
-		argv[remote] = dest;
+		argv[dest_argc++] = dest;
+		while (dest_refspec_nr--)
+			argv[dest_argc++] = *dest_refspec++;
+		argv[dest_argc] = NULL;
 		error = run_command_v(argc, argv);
 		if (!error)
 			continue;
-- 
1.3.3.g423a-dirty

^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2006-06-05 20:02 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-06-05 20:02 [PATCH] builtin-push: don't pass --thin to HTTP transport Nick Hengeveld

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).