mirror of
https://git.proxmox.com/git/libgit2
synced 2025-08-03 21:59:41 +00:00
Introduce git_clone_options
This commit is contained in:
parent
37ac44366b
commit
7e61044019
@ -22,6 +22,39 @@
|
||||
*/
|
||||
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
|
||||
* HEAD.
|
||||
|
Loading…
Reference in New Issue
Block a user