diff --git a/examples/network/clone.c b/examples/network/clone.c index 270bb68be..37e373d5a 100644 --- a/examples/network/clone.c +++ b/examples/network/clone.c @@ -86,9 +86,9 @@ int do_clone(git_repository *repo, int argc, char **argv) checkout_opts.progress_cb = checkout_progress; checkout_opts.progress_payload = &pd; clone_opts.checkout_opts = checkout_opts; - clone_opts.remote_callbacks.transfer_progress = &fetch_progress; - clone_opts.remote_callbacks.credentials = cred_acquire_cb; - clone_opts.remote_callbacks.payload = &pd; + clone_opts.fetch_opts.callbacks.transfer_progress = &fetch_progress; + clone_opts.fetch_opts.callbacks.credentials = cred_acquire_cb; + clone_opts.fetch_opts.callbacks.payload = &pd; // Do the clone error = git_clone(&cloned_repo, url, path, &clone_opts); diff --git a/examples/network/fetch.c b/examples/network/fetch.c index a4bec032e..e47f5be4f 100644 --- a/examples/network/fetch.c +++ b/examples/network/fetch.c @@ -10,6 +10,7 @@ struct dl_data { git_remote *remote; + git_fetch_options *fetch_opts; int ret; int finished; }; @@ -28,7 +29,7 @@ static void *download(void *ptr) // Connect to the remote end specifying that we want to fetch // information from it. - if (git_remote_connect(data->remote, GIT_DIRECTION_FETCH) < 0) { + if (git_remote_connect(data->remote, GIT_DIRECTION_FETCH, &data->fetch_opts->callbacks) < 0) { data->ret = -1; goto exit; } @@ -36,7 +37,7 @@ static void *download(void *ptr) // Download the packfile and index it. This function updates the // amount of received data and the indexer stats which lets you // inform the user about progress. - if (git_remote_download(data->remote, NULL) < 0) { + if (git_remote_download(data->remote, NULL, data->fetch_opts) < 0) { data->ret = -1; goto exit; } @@ -78,7 +79,7 @@ int fetch(git_repository *repo, int argc, char **argv) git_remote *remote = NULL; const git_transfer_progress *stats; struct dl_data data; - git_remote_callbacks callbacks = GIT_REMOTE_CALLBACKS_INIT; + git_fetch_options fetch_opts = GIT_FETCH_OPTIONS_INIT; #ifndef _WIN32 pthread_t worker; #endif @@ -96,13 +97,13 @@ int fetch(git_repository *repo, int argc, char **argv) } // Set up the callbacks (only update_tips for now) - callbacks.update_tips = &update_cb; - callbacks.sideband_progress = &progress_cb; - callbacks.credentials = cred_acquire_cb; - git_remote_set_callbacks(remote, &callbacks); + fetch_opts.callbacks.update_tips = &update_cb; + fetch_opts.callbacks.sideband_progress = &progress_cb; + fetch_opts.callbacks.credentials = cred_acquire_cb; // Set up the information for the background worker thread data.remote = remote; + data.fetch_opts = &fetch_opts; data.ret = 0; data.finished = 0; @@ -156,7 +157,7 @@ int fetch(git_repository *repo, int argc, char **argv) // right commits. This may be needed even if there was no packfile // to download, which can happen e.g. when the branches have been // changed but all the needed objects are available locally. - if (git_remote_update_tips(remote, NULL) < 0) + if (git_remote_update_tips(remote, &fetch_opts.callbacks, 1, fetch_opts.download_tags, NULL) < 0) return -1; git_remote_free(remote); diff --git a/examples/network/ls-remote.c b/examples/network/ls-remote.c index 5e3ade94f..a26092265 100644 --- a/examples/network/ls-remote.c +++ b/examples/network/ls-remote.c @@ -25,9 +25,8 @@ static int use_remote(git_repository *repo, char *name) * each of the remote references. */ callbacks.credentials = cred_acquire_cb; - git_remote_set_callbacks(remote, &callbacks); - error = git_remote_connect(remote, GIT_DIRECTION_FETCH); + error = git_remote_connect(remote, GIT_DIRECTION_FETCH, &callbacks); if (error < 0) goto cleanup; diff --git a/examples/remote.c b/examples/remote.c index b756b5642..e0d5a1406 100644 --- a/examples/remote.c +++ b/examples/remote.c @@ -151,7 +151,6 @@ static int cmd_seturl(git_repository *repo, struct opts *o) { int i, retval, push = 0; char *name = NULL, *url = NULL; - git_remote *remote; for (i = 0; i < o->argc; i++) { char *arg = o->argv[i]; @@ -170,20 +169,13 @@ static int cmd_seturl(git_repository *repo, struct opts *o) if (name == NULL || url == NULL) usage("you need to specify remote and the new URL", NULL); - check_lg2(git_remote_lookup(&remote, repo, name), - "could not look up remote", name); - if (push) - retval = git_remote_set_pushurl(remote, url); + retval = git_remote_set_pushurl(repo, name, url); else - retval = git_remote_set_url(remote, url); + retval = git_remote_set_url(repo, name, url); + check_lg2(retval, "could not set URL", url); - check_lg2(git_remote_save(remote), - "could not save remote", NULL); - - git_remote_free(remote); - return 0; }