summaryrefslogtreecommitdiff
path: root/http-fetch.c
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2010-12-12 21:49:52 -0800
committerJunio C Hamano <gitster@pobox.com>2010-12-12 21:49:52 -0800
commita0078dee90e9b6baf17fa22cdeaadd8bec49e725 (patch)
tree5e080b2401222e5839a1d4bc6e3abadc9800e936 /http-fetch.c
parent33935dca6db41f3d84f28abb66f94c1f2cc1974b (diff)
parent6f5185bd2d87dff587e4900aa022f6f9bd088f20 (diff)
downloadgit-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.c16
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;
}