Skip to content

Commit

Permalink
http-push.c::remote_exists(): use the new http API
Browse files Browse the repository at this point in the history
Signed-off-by: Mike Hommey <mh@glandium.org>
Signed-off-by: Tay Ray Chuan <rctay89@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
  • Loading branch information
Mike Hommey authored and Junio C Hamano committed Jun 6, 2009
1 parent 0d5896e commit 446b941
Showing 1 changed file with 12 additions and 19 deletions.
31 changes: 12 additions & 19 deletions http-push.c
Original file line number Diff line number Diff line change
Expand Up @@ -2004,29 +2004,22 @@ static void update_remote_info_refs(struct remote_lock *lock)
static int remote_exists(const char *path)
{
char *url = xmalloc(strlen(repo->url) + strlen(path) + 1);
struct active_request_slot *slot;
struct slot_results results;
int ret = -1;
int ret;

sprintf(url, "%s%s", repo->url, path);

slot = get_active_slot();
slot->results = &results;
curl_easy_setopt(slot->curl, CURLOPT_URL, url);
curl_easy_setopt(slot->curl, CURLOPT_NOBODY, 1);

if (start_active_slot(slot)) {
run_active_slot(slot);
if (results.http_code == 404)
ret = 0;
else if (results.curl_result == CURLE_OK)
ret = 1;
else
fprintf(stderr, "HEAD HTTP error %ld\n", results.http_code);
} else {
fprintf(stderr, "Unable to start HEAD request\n");
switch (http_get_strbuf(url, NULL, 0)) {
case HTTP_OK:
ret = 1;
break;
case HTTP_MISSING_TARGET:
ret = 0;
break;
case HTTP_ERROR:
http_error(url, HTTP_ERROR);
default:
ret = -1;
}

free(url);
return ret;
}
Expand Down

0 comments on commit 446b941

Please sign in to comment.