diff options
author | Jeff King <peff@peff.net> | 2011-10-14 09:40:40 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2011-10-15 21:18:36 -0700 |
commit | deba49377b717d1e26c342f65c7f5e75a2db8641 (patch) | |
tree | 2750a54dc827a61ec64d362a791b3936f6cf6e97 /http-push.c | |
parent | 070b4dd5899927cb399b8ae9d75cad1fce537429 (diff) | |
download | git-deba49377b717d1e26c342f65c7f5e75a2db8641.tar.gz |
http_init: accept separate URL parameter
The http_init function takes a "struct remote". Part of its
initialization procedure is to look at the remote's url and
grab some auth-related parameters. However, using the url
included in the remote is:
- wrong; the remote-curl helper may have a separate,
unrelated URL (e.g., from remote.*.pushurl). Looking at
the remote's configured url is incorrect.
- incomplete; http-fetch doesn't have a remote, so passes
NULL. So http_init never gets to see the URL we are
actually going to use.
- cumbersome; http-push has a similar problem to
http-fetch, but actually builds a fake remote just to
pass in the URL.
Instead, let's just add a separate URL parameter to
http_init, and all three callsites can pass in the
appropriate information.
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'http-push.c')
-rw-r--r-- | http-push.c | 10 |
1 files changed, 1 insertions, 9 deletions
diff --git a/http-push.c b/http-push.c index 6e8f6d09ab..ecbfae56da 100644 --- a/http-push.c +++ b/http-push.c @@ -1747,7 +1747,6 @@ int main(int argc, char **argv) int i; int new_refs; struct ref *ref, *local_refs; - struct remote *remote; git_extract_argv0_path(argv[0]); @@ -1821,14 +1820,7 @@ int main(int argc, char **argv) memset(remote_dir_exists, -1, 256); - /* - * 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); + http_init(NULL, repo->url); #ifdef USE_CURL_MULTI is_running_queue = 0; |