diff --git a/pygit2/__init__.py b/pygit2/__init__.py index 0a901d4..6df8478 100644 --- a/pygit2/__init__.py +++ b/pygit2/__init__.py @@ -151,6 +151,9 @@ def clone_repository( d['callback'] = credentials d_handle = ffi.new_handle(d) + # Perform the initialization with the version we compiled + C.git_clone_init_options(opts, C.GIT_CLONE_OPTIONS_VERSION) + # We need to keep the ref alive ourselves checkout_branch_ref = None if branch: @@ -160,11 +163,8 @@ def clone_repository( remote_name_ref = ffi.new('char []', to_bytes(remote_name)) opts.remote_name = remote_name_ref - opts.version = 1 opts.ignore_cert_errors = ignore_cert_errors opts.bare = bare - opts.remote_callbacks.version = 1 - opts.checkout_opts.version = 1 if credentials: opts.remote_callbacks.credentials = _credentials_cb opts.remote_callbacks.payload = d_handle diff --git a/pygit2/decl.h b/pygit2/decl.h index c7b7001..b8cd9c6 100644 --- a/pygit2/decl.h +++ b/pygit2/decl.h @@ -353,6 +353,9 @@ typedef struct git_clone_options { git_signature *signature; } git_clone_options; +#define GIT_CLONE_OPTIONS_VERSION ... +int git_clone_init_options(git_clone_options *opts, unsigned int version); + int git_clone(git_repository **out, const char *url, const char *local_path,