libgit2

git_clone_options

Version:

Clone options structure

Use zeros to indicate default settings. It's easiest to use the GIT_CLONE_OPTIONS_INIT macro:

git_clone_options opts = GIT_CLONE_OPTIONS_INIT;

  • checkout_opts is options for the checkout step. To disable checkout, set the checkout_strategy to GIT_CHECKOUT_DEFAULT.
  • bare should be set to zero to create a standard repo, non-zero for a bare repo
  • fetch_progress_cb is optional callback for fetch progress. Be aware that this is called inline with network and indexing operations, so performance may be affected.
  • fetch_progress_payload is payload for fetch_progress_cb

** "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_flags is flags used to create transport if no transport is provided.
  • 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. The default is GIT_REMOTE_DOWNLOAD_TAGS_ALL.
  • checkout_branch gives the name of the branch to checkout. NULL means use the remote's HEAD.

Signature

typedef struct git_clone_options { unsigned int version git_checkout_opts checkout_opts int bare git_transfer_progress_callback fetch_progress_cb void *fetch_progress_payload 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_flags_t transport_flags git_transport *transport git_remote_callbacks *remote_callbacks git_remote_autotag_option_t remote_autotag const char *checkout_branch };

Members

unsigned int
version
checkout_opts
int
bare
fetch_progress_cb
void *
fetch_progress_payload
const char *
remote_name
const char *
pushurl
const char *
fetch_spec
const char *
push_spec
cred_acquire_cb
void *
cred_acquire_payload
transport_flags
transport
remote_callbacks
const char *
checkout_branch

Parameter To

Versions