summaryrefslogtreecommitdiff
path: root/include/git2/clone.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/git2/clone.h')
-rw-r--r--include/git2/clone.h57
1 files changed, 33 insertions, 24 deletions
diff --git a/include/git2/clone.h b/include/git2/clone.h
index 331cf92e7..59a73aa15 100644
--- a/include/git2/clone.h
+++ b/include/git2/clone.h
@@ -26,23 +26,25 @@ GIT_BEGIN_DECL
/**
* Clone options structure
*
- * Use zeros to indicate default settings. It's easiest to use the
- * `GIT_CLONE_OPTIONS_INIT` macro:
+ * Use the GIT_CLONE_OPTIONS_INIT to get the default settings, like this:
*
* 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
- * - `ignore_cert_errors` should be set to 1 if errors validating the remote host's
- * certificate should be ignored.
+ * - `checkout_opts` are option passed to the checkout step. To disable
+ * checkout, set the `checkout_strategy` to GIT_CHECKOUT_NONE.
+ * Generally you will want the use GIT_CHECKOUT_SAFE_CREATE to create
+ * all files in the working directory for the newly cloned repository.
+ * - `bare` should be set to zero (false) to create a standard repo,
+ * or non-zero for a bare repo
+ * - `ignore_cert_errors` should be set to 1 if errors validating the
+ * remote host's certificate should be ignored.
*
* ** "origin" remote options: **
- * - `remote_name` is the name given to the "origin" remote. The default is
- * "origin".
- * - `checkout_branch` gives the name of the branch to checkout. NULL means
- * use the remote's HEAD.
+ *
+ * - `remote_name` is the name to be given to the "origin" remote. The
+ * default is "origin".
+ * - `checkout_branch` gives the name of the branch to checkout. NULL
+ * means use the remote's HEAD.
*/
typedef struct git_clone_options {
@@ -70,16 +72,17 @@ typedef struct git_clone_options {
* @param out pointer that will receive the resulting repository object
* @param url the remote repository to clone
* @param local_path local directory to clone to
- * @param options configuration options for the clone. If NULL, the function
- * works as though GIT_OPTIONS_INIT were passed.
- * @return 0 on success, GIT_ERROR otherwise (use giterr_last for information
- * about the error)
+ * @param options configuration options for the clone. If NULL, the
+ * function works as though GIT_OPTIONS_INIT were passed.
+ * @return 0 on success, any non-zero return value from a callback
+ * function, or a negative value to indicate an error (use
+ * `giterr_last` for a detailed error message)
*/
GIT_EXTERN(int) git_clone(
- git_repository **out,
- const char *url,
- const char *local_path,
- const git_clone_options *options);
+ git_repository **out,
+ const char *url,
+ const char *local_path,
+ const git_clone_options *options);
/**
* Clone into a repository
@@ -91,11 +94,17 @@ GIT_EXTERN(int) git_clone(
* @param repo the repository to use
* @param remote the remote repository to clone from
* @param co_opts options to use during checkout
- * @param branch the branch to checkout after the clone, pass NULL for the remote's
- * default branch
- * @return 0 on success or an error code
+ * @param branch the branch to checkout after the clone, pass NULL for the
+ * remote's default branch
+ * @return 0 on success, any non-zero return value from a callback
+ * function, or a negative value to indicate an error (use
+ * `giterr_last` for a detailed error message)
*/
-GIT_EXTERN(int) git_clone_into(git_repository *repo, git_remote *remote, const git_checkout_opts *co_opts, const char *branch);
+GIT_EXTERN(int) git_clone_into(
+ git_repository *repo,
+ git_remote *remote,
+ const git_checkout_opts *co_opts,
+ const char *branch);
/** @} */
GIT_END_DECL