threads / patch / 7886

patch, 5 partsCall send-pack with --remote option

Subject: [PATCH 5/5] Call send-pack with --remote option

## tl;dr

2 messages between Apr 28, 2007 and Apr 29, 2007. Diffs are folded; open one to read it.

replies: 1people: 2as markdown or json

Daniel Barkalow· Apr 28, 2007, 17:05 UTC · lore

When calling send-pack from git-push, use the --remote option when appropriate.

Signed-off-by: Daniel Barkalow <barkalow@iabervon.org>
---
 builtin-push.c |   11 ++++++++---
 1 files changed, 8 insertions(+), 3 deletions(-)
Show changes to builtin-push.c +8 −3
diff --git a/builtin-push.c b/builtin-push.c
index 2e944cd..d4734be 100644
--- a/builtin-push.c
+++ b/builtin-push.c
@@ -158,7 +158,7 @@ static int do_push(const char *repo)
 		refspec = remote->push_refspec;
 	}
 
-	argv = xmalloc((refspec_nr + 10) * sizeof(char *));
+	argv = xmalloc((refspec_nr + 11) * sizeof(char *));
 	argv[0] = "dummy-send-pack";
 	argc = 1;
 	if (all)
@@ -180,8 +180,13 @@ static int do_push(const char *repo)
 		if (!prefixcmp(dest, "http://") ||
 		    !prefixcmp(dest, "https://"))
 			sender = "http-push";
-		else if (thin)
-			argv[dest_argc++] = "--thin";
+		else {
+			char *rem = xmalloc(strlen(remote->name) + 10);
+			sprintf(rem, "--remote=%s", remote->name);
+			argv[dest_argc++] = rem;
+			if (thin)
+				argv[dest_argc++] = "--thin";
+		}
 		argv[0] = sender;
 		argv[dest_argc++] = dest;
 		while (dest_refspec_nr--)
-- 
1.5.1.2.255.g6ead4-dirty
Junio C Hamano· Apr 29, 2007, 05:51 UTC · re: Daniel Barkalow · lore

Re: [PATCH 5/5] Call send-pack with --remote option

Daniel Barkalow <barkalow@iabervon.org> writes:
Show 13 quoted lines
> diff --git a/builtin-push.c b/builtin-push.c
> index 2e944cd..d4734be 100644
> --- a/builtin-push.c
> +++ b/builtin-push.c
> @@ -158,7 +158,7 @@ static int do_push(const char *repo)
>  		refspec = remote->push_refspec;
>  	}
>  
> -	argv = xmalloc((refspec_nr + 10) * sizeof(char *));
> +	argv = xmalloc((refspec_nr + 11) * sizeof(char *));
>  	argv[0] = "dummy-send-pack";
>  	argc = 1;
>  	if (all)

I somehow thought this 10 was there not because we counted but we know 10 gives us enough slop. Adding one because we give an extra parameter, while it is logically correct, feels somewhat funny. But I do not have a better suggestion (unless we count exactly which we cannot do).

← back to recent threads