diff options
author | Carlos Martín Nieto <cmn@dwim.me> | 2013-12-21 17:18:21 +0000 |
---|---|---|
committer | Carlos Martín Nieto <cmn@dwim.me> | 2014-05-28 15:40:20 +0200 |
commit | 4386d80be108102548d4ff52c875aedfa94e7412 (patch) | |
tree | 776b4eeb7aeffd59c87606031b2a2e78661cea13 /include | |
parent | 433ba614a2ef948008510a1b1189702d515d2fc4 (diff) | |
download | libgit2-4386d80be108102548d4ff52c875aedfa94e7412.tar.gz |
clone: perform a "local clone" when given a local path
When git is given such a path, it will perform a "local clone",
bypassing the git-aware protocol and simply copying over all objects
that exist in the source.
Copy this behaviour when given a local path.
Diffstat (limited to 'include')
-rw-r--r-- | include/git2/clone.h | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/include/git2/clone.h b/include/git2/clone.h index 985c04bf6..ceb1a53bb 100644 --- a/include/git2/clone.h +++ b/include/git2/clone.h @@ -123,6 +123,31 @@ GIT_EXTERN(int) git_clone_into( const char *branch, const git_signature *signature); +/** + * Perform a local clone into a repository + * + * A "local clone" bypasses any git-aware protocols and simply copies + * over the object database from the source repository. It is often + * faster than a git-aware clone, but no verification of the data is + * performed, and can copy over too much data. + * + * @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 + * @param signature the identity used when updating the reflog + * @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_local_into( + git_repository *repo, + git_remote *remote, + const git_checkout_options *co_opts, + const char *branch, + const git_signature *signature); + /** @} */ GIT_END_DECL #endif |