diff options
author | Junio C Hamano <gitster@pobox.com> | 2010-12-12 21:49:52 -0800 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2010-12-12 21:49:52 -0800 |
commit | a0078dee90e9b6baf17fa22cdeaadd8bec49e725 (patch) | |
tree | 5e080b2401222e5839a1d4bc6e3abadc9800e936 /http-fetch.c | |
parent | 33935dca6db41f3d84f28abb66f94c1f2cc1974b (diff) | |
parent | 6f5185bd2d87dff587e4900aa022f6f9bd088f20 (diff) | |
download | git-a0078dee90e9b6baf17fa22cdeaadd8bec49e725.tar.gz |
Merge branch 'tc/http-urls-ends-with-slash'
* tc/http-urls-ends-with-slash:
http-fetch: rework url handling
http-push: add trailing slash at arg-parse time, instead of later on
http-push: check path length before using it
http-push: Normalise directory names when pushing to some WebDAV servers
http-backend: use end_url_with_slash()
url: add str wrapper for end_url_with_slash()
shift end_url_with_slash() from http.[ch] to url.[ch]
t5550-http-fetch: add test for http-fetch
t5550-http-fetch: add missing '&&'
Diffstat (limited to 'http-fetch.c')
-rw-r--r-- | http-fetch.c | 16 |
1 files changed, 5 insertions, 11 deletions
diff --git a/http-fetch.c b/http-fetch.c index 762c750d7a..923904f97f 100644 --- a/http-fetch.c +++ b/http-fetch.c @@ -14,8 +14,7 @@ int main(int argc, const char **argv) int commits; const char **write_ref = NULL; char **commit_id; - const char *url; - char *rewritten_url = NULL; + char *url = NULL; int arg = 1; int rc = 0; int get_tree = 0; @@ -57,19 +56,14 @@ int main(int argc, const char **argv) commit_id = (char **) &argv[arg++]; commits = 1; } - url = argv[arg]; + + if (argv[arg]) + str_end_url_with_slash(argv[arg], &url); prefix = setup_git_directory(); git_config(git_default_config, NULL); - if (url && url[strlen(url)-1] != '/') { - rewritten_url = xmalloc(strlen(url)+2); - strcpy(rewritten_url, url); - strcat(rewritten_url, "/"); - url = rewritten_url; - } - http_init(NULL); walker = get_http_walker(url); walker->get_tree = get_tree; @@ -93,7 +87,7 @@ int main(int argc, const char **argv) walker_free(walker); http_cleanup(); - free(rewritten_url); + free(url); return rc; } |