mirror of
https://git.proxmox.com/git/libgit2
synced 2025-08-07 17:27:40 +00:00
Introduce git_clone_options
This commit is contained in:
parent
37ac44366b
commit
7e61044019
@ -22,6 +22,39 @@
|
|||||||
*/
|
*/
|
||||||
GIT_BEGIN_DECL
|
GIT_BEGIN_DECL
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 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;
|
||||||
|
*
|
||||||
|
* - `out` is a pointer that receives the resulting repository object
|
||||||
|
* - `origin_remote` is a remote which will act as the initial fetch source
|
||||||
|
* - `workdir_path` is local directory to clone to
|
||||||
|
* - `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
|
||||||
|
* - `checkout_opts` is options for the checkout step. If NULL, no checkout
|
||||||
|
* is performed
|
||||||
|
*/
|
||||||
|
|
||||||
|
typedef struct git_clone_options {
|
||||||
|
unsigned int version;
|
||||||
|
|
||||||
|
git_repository **out;
|
||||||
|
git_remote *origin_remote;
|
||||||
|
const char *workdir_path;
|
||||||
|
git_checkout_opts *checkout_opts;
|
||||||
|
git_transfer_progress_callback fetch_progress_cb;
|
||||||
|
void *fetch_progress_payload;
|
||||||
|
} git_clone_options;
|
||||||
|
|
||||||
|
#define GIT_CLONE_OPTIONS_VERSION 1
|
||||||
|
#define GIT_CLONE_OPTIONS_INIT {GIT_CLONE_OPTIONS_VERSION}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Clone a remote repository, and checkout the branch pointed to by the remote
|
* Clone a remote repository, and checkout the branch pointed to by the remote
|
||||||
* HEAD.
|
* HEAD.
|
||||||
|
Loading…
Reference in New Issue
Block a user