diff options
author | Ben Straub <bs@github.com> | 2012-12-18 19:46:05 -0800 |
---|---|---|
committer | Ben Straub <bs@github.com> | 2012-12-19 17:02:06 -0800 |
commit | b412d5638929f8b08ea63d862a1a46b3d9f9e4c9 (patch) | |
tree | 48dc978184c76d47c5877d0350b159323dae0f02 /include/git2/clone.h | |
parent | 92c4d25820a55186f3834891673fb9d72715d978 (diff) | |
download | libgit2-b412d5638929f8b08ea63d862a1a46b3d9f9e4c9.tar.gz |
Add more clone options. Push test suite segfaults.
Diffstat (limited to 'include/git2/clone.h')
-rw-r--r-- | include/git2/clone.h | 35 |
1 files changed, 32 insertions, 3 deletions
diff --git a/include/git2/clone.h b/include/git2/clone.h index 2b5381e4d..72fba0ee2 100644 --- a/include/git2/clone.h +++ b/include/git2/clone.h @@ -11,6 +11,7 @@ #include "types.h" #include "indexer.h" #include "checkout.h" +#include "remote.h" /** @@ -36,8 +37,26 @@ GIT_BEGIN_DECL * this is called inline with network and indexing operations, so performance * may be affected. * - `fetch_progress_payload` is payload for fetch_progress_cb - * - `checkout_opts` is options for the checkout step. If NULL, no checkout - * is performed + * - `checkout_opts` is options for the checkout step. If NULL, no checkout is + * performed + * + * ** "origin" remote options: ** + * - `remote_name` is the name given to the "origin" remote. The default is + * "origin". + * - `pushurl` is a URL to be used for pushing. NULL means use the fetch url. + * - `fetch_spec` is the fetch specification to be used for fetching. NULL + * results in the same behavior as GIT_REMOTE_DEFAULT_FETCH. + * - `push_spec` is the fetch specification to be used for pushing. NULL means + * use the same spec as for fetching. + * - `cred_acquire_cb` is a callback to be used if credentials are required + * during the initial fetch. + * - `cred_acquire_payload` is the payload for the above callback. + * - `transport` is a custom transport to be used for the initial fetch. NULL + * means use the transport autodetected from the URL. + * - `remote_callbacks` may be used to specify custom progress callbacks for + * the origin remote before the fetch is initiated. + * - `remote_autotag` may be used to specify the autotag setting before the + * initial fetch. */ typedef struct git_clone_options { @@ -47,6 +66,16 @@ typedef struct git_clone_options { git_transfer_progress_callback fetch_progress_cb; void *fetch_progress_payload; git_checkout_opts *checkout_opts; + + const char *remote_name; + const char *pushurl; + const char *fetch_spec; + const char *push_spec; + git_cred_acquire_cb cred_acquire_cb; + void *cred_acquire_payload; + git_transport *transport; + git_remote_callbacks *remote_callbacks; + git_remote_autotag_option_t remote_autotag; } git_clone_options; #define GIT_CLONE_OPTIONS_VERSION 1 @@ -66,7 +95,7 @@ typedef struct git_clone_options { */ GIT_EXTERN(int) git_clone( git_repository **out, - git_remote *origin, + const char *url, const char *local_path, const git_clone_options *options); |