summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: aec4975)
raw | patch | inline | side by side (parent: aec4975)
author | Tay Ray Chuan <rctay89@gmail.com> | |
Tue, 2 Mar 2010 10:49:31 +0000 (18:49 +0800) | ||
committer | Junio C Hamano <gitster@pobox.com> | |
Tue, 2 Mar 2010 19:10:36 +0000 (11:10 -0800) |
Invoke get_http_walker() only when fetching with the dumb protocol.
Additionally, add an invocation to walker_free() after we're done using
the walker.
Signed-off-by: Tay Ray Chuan <rctay89@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Additionally, add an invocation to walker_free() after we're done using
the walker.
Signed-off-by: Tay Ray Chuan <rctay89@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
remote-curl.c | patch | blob | history |
diff --git a/remote-curl.c b/remote-curl.c
index aa9f279014d9c0dcda7b90d647fea695e945a9dd..1f8bc2db73a5a7fb41734b9866c184c7aa90c897 100644 (file)
--- a/remote-curl.c
+++ b/remote-curl.c
static struct remote *remote;
static const char *url;
-static struct walker *walker;
struct options {
int verbosity;
};
static struct options options;
-static void init_walker(void)
-{
- if (!walker)
- walker = get_http_walker(url);
-}
-
static int set_option(const char *name, const char *value)
{
if (!strcmp(name, "verbosity")) {
}
refs_url = strbuf_detach(&buffer, NULL);
- init_walker();
http_ret = http_get_strbuf(refs_url, &buffer, HTTP_NO_CACHE);
/* try again with "plain" url (no ? or & appended) */
struct child_process client;
int err = 0;
- init_walker();
memset(&client, 0, sizeof(client));
client.in = -1;
client.out = -1;
static int fetch_dumb(int nr_heads, struct ref **to_fetch)
{
+ struct walker *walker;
char **targets = xmalloc(nr_heads * sizeof(char*));
int ret, i;
for (i = 0; i < nr_heads; i++)
targets[i] = xstrdup(sha1_to_hex(to_fetch[i]->old_sha1));
- init_walker();
+ walker = get_http_walker(url);
walker->get_all = 1;
walker->get_tree = 1;
walker->get_history = 1;
walker->get_verbosely = options.verbosity >= 3;
walker->get_recover = 0;
ret = walker_fetch(walker, nr_heads, targets, NULL, NULL);
+ walker_free(walker);
for (i = 0; i < nr_heads; i++)
free(targets[i]);