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 repofetch_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.