diff --git a/clone.go b/clone.go index 1bc3261..4acf170 100644 --- a/clone.go +++ b/clone.go @@ -14,10 +14,10 @@ import ( type CloneOptions struct { *CheckoutOpts *RemoteCallbacks - Bare bool - IgnoreCertErrors bool - RemoteName string - CheckoutBranch string + Bare bool + CheckoutBranch string + RemoteCreateCallback C.git_remote_create_cb + RemoteCreatePayload unsafe.Pointer } func Clone(url string, path string, options *CloneOptions) (*Repository, error) { @@ -32,12 +32,6 @@ func Clone(url string, path string, options *CloneOptions) (*Repository, error) var copts C.git_clone_options populateCloneOptions(&copts, options) - // finish populating clone options here so we can defer CString free - if len(options.RemoteName) != 0 { - copts.remote_name = C.CString(options.RemoteName) - defer C.free(unsafe.Pointer(copts.remote_name)) - } - if len(options.CheckoutBranch) != 0 { copts.checkout_branch = C.CString(options.CheckoutBranch) defer C.free(unsafe.Pointer(copts.checkout_branch)) @@ -67,9 +61,14 @@ func populateCloneOptions(ptr *C.git_clone_options, opts *CloneOptions) { } else { ptr.bare = 0 } - if opts.IgnoreCertErrors { - ptr.ignore_cert_errors = 1 - } else { - ptr.ignore_cert_errors = 0 + + if opts.RemoteCreateCallback != nil { + ptr.remote_cb = opts.RemoteCreateCallback + defer C.free(unsafe.Pointer(opts.RemoteCreateCallback)) + + if opts.RemoteCreatePayload != nil { + ptr.remote_cb_payload = opts.RemoteCreatePayload + defer C.free(opts.RemoteCreatePayload) + } } } diff --git a/tree.go b/tree.go index 8356fba..e5fe361 100644 --- a/tree.go +++ b/tree.go @@ -16,8 +16,7 @@ import ( type Filemode int const ( - FilemodeNew Filemode = C.GIT_FILEMODE_NEW - FilemodeTree = C.GIT_FILEMODE_TREE + FilemodeTree Filemode = C.GIT_FILEMODE_TREE FilemodeBlob = C.GIT_FILEMODE_BLOB FilemodeBlobExecutable = C.GIT_FILEMODE_BLOB_EXECUTABLE FilemodeLink = C.GIT_FILEMODE_LINK diff --git a/vendor/libgit2 b/vendor/libgit2 index b4d00c1..89e05e2 160000 --- a/vendor/libgit2 +++ b/vendor/libgit2 @@ -1 +1 @@ -Subproject commit b4d00c1d2466de3558a7cc6983dce4eb2ee98431 +Subproject commit 89e05e2ab19ac452e84e0eaa2dfb8e07ac6839bf