From 44d808c238f0817fc3ae7caea8f3b625b6180e37 Mon Sep 17 00:00:00 2001 From: Amos King Date: Wed, 18 Mar 2009 18:46:41 -0500 Subject: [PATCH] http-push.c: use a faux remote to pass to http_init This patch allows http_push to use http authentication via prompts. You may notice that there is a remote struct that only contains the url from the repo struct. This struct is a temporary fix for a larger issue, but gets http authentication via prompts out the door, and keeps users from having to store passwords in plain text files. Signed-off-by: Amos King Signed-off-by: Junio C Hamano --- http-push.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/http-push.c b/http-push.c index dfbb247cf..962934858 100644 --- a/http-push.c +++ b/http-push.c @@ -2196,6 +2196,7 @@ int main(int argc, char **argv) int i; int new_refs; struct ref *ref; + struct remote *remote; char *rewritten_url = NULL; git_extract_argv0_path(argv[0]); @@ -2263,7 +2264,14 @@ int main(int argc, char **argv) memset(remote_dir_exists, -1, 256); - http_init(NULL); + /* + * Create a minimum remote by hand to give to http_init(), + * primarily to allow it to look at the URL. + */ + remote = xcalloc(sizeof(*remote), 1); + ALLOC_GROW(remote->url, remote->url_nr + 1, remote->url_alloc); + remote->url[remote->url_nr++] = repo->url; + http_init(remote); no_pragma_header = curl_slist_append(no_pragma_header, "Pragma:"); -- 2.26.2