Merge pull request #1621 from NHDaly/clone_transport_flags Added support for setting transport flags (No check SSL cert) to git_clo...
diff --git a/include/git2/clone.h b/include/git2/clone.h
index 20df491..5858b4e 100644
--- a/include/git2/clone.h
+++ b/include/git2/clone.h
@@ -51,6 +51,8 @@ GIT_BEGIN_DECL
* - `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
@@ -75,6 +77,7 @@ typedef struct git_clone_options {
const char *push_spec;
git_cred_acquire_cb cred_acquire_cb;
void *cred_acquire_payload;
+ git_transport_flags_t transport_flags;
git_transport *transport;
git_remote_callbacks *remote_callbacks;
git_remote_autotag_option_t remote_autotag;
diff --git a/src/clone.c b/src/clone.c
index 4f76326..191040d 100644
--- a/src/clone.c
+++ b/src/clone.c
@@ -336,6 +336,10 @@ static int create_and_configure_origin(
(error = git_remote_set_pushurl(origin, options->pushurl)) < 0)
goto on_error;
+ if (options->transport_flags == GIT_TRANSPORTFLAGS_NO_CHECK_CERT) {
+ git_remote_check_cert(origin, 0);
+ }
+
if ((error = git_remote_save(origin)) < 0)
goto on_error;