summaryrefslogtreecommitdiff
path: root/remote-curl.c
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2010-05-09 05:37:24 (GMT)
committerJunio C Hamano <gitster@pobox.com>2010-05-09 05:37:24 (GMT)
commit3cc9caadf738c3b2cf7aa46364be173751912a10 (patch)
tree6b59713c1a2b3e679e643476b2be1b50134d1bc2 /remote-curl.c
parentb7d0da858bb2f22c6ef3dbb20c1ded0302f4eaca (diff)
parentd8fab07208abfbe7dc93aea97c5577cdd73266c5 (diff)
downloadgit-3cc9caadf738c3b2cf7aa46364be173751912a10.zip
git-3cc9caadf738c3b2cf7aa46364be173751912a10.tar.gz
git-3cc9caadf738c3b2cf7aa46364be173751912a10.tar.bz2
Merge branch 'rc/maint-curl-helper'
* rc/maint-curl-helper: remote-curl: ensure that URLs have a trailing slash http: make end_url_with_slash() public t5541-http-push: add test for URLs with trailing slash Conflicts: remote-curl.c
Diffstat (limited to 'remote-curl.c')
-rw-r--r--remote-curl.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/remote-curl.c b/remote-curl.c
index 0782756..24fbb9a 100644
--- a/remote-curl.c
+++ b/remote-curl.c
@@ -9,7 +9,7 @@
#include "sideband.h"
static struct remote *remote;
-static const char *url;
+static const char *url; /* always ends with a trailing slash */
struct options {
int verbosity;
@@ -101,7 +101,7 @@ static struct discovery* discover_refs(const char *service)
return last;
free_discovery(last);
- strbuf_addf(&buffer, "%s/info/refs", url);
+ strbuf_addf(&buffer, "%sinfo/refs", url);
if (!prefixcmp(url, "http://") || !prefixcmp(url, "https://")) {
is_http = 1;
if (!strchr(url, '?'))
@@ -120,7 +120,7 @@ static struct discovery* discover_refs(const char *service)
strbuf_reset(&buffer);
proto_git_candidate = 0;
- strbuf_addf(&buffer, "%s/info/refs", url);
+ strbuf_addf(&buffer, "%sinfo/refs", url);
refs_url = strbuf_detach(&buffer, NULL);
http_ret = http_get_strbuf(refs_url, &buffer, HTTP_NO_CACHE);
@@ -511,7 +511,7 @@ static int rpc_service(struct rpc_state *rpc, struct discovery *heads)
rpc->out = client.out;
strbuf_init(&rpc->result, 0);
- strbuf_addf(&buf, "%s/%s", url, svc);
+ strbuf_addf(&buf, "%s%s", url, svc);
rpc->service_url = strbuf_detach(&buf, NULL);
strbuf_addf(&buf, "Content-Type: application/x-%s-request", svc);
@@ -800,11 +800,13 @@ int main(int argc, const char **argv)
remote = remote_get(argv[1]);
if (argc > 2) {
- url = argv[2];
+ end_url_with_slash(&buf, argv[2]);
} else {
- url = remote->url[0];
+ end_url_with_slash(&buf, remote->url[0]);
}
+ url = strbuf_detach(&buf, NULL);
+
http_init(remote);
do {