From 9bec36a0b070fc0b4ae444865a95c8e02afe0b69 Mon Sep 17 00:00:00 2001 From: David Calavera Date: Wed, 3 Sep 2014 18:08:48 -0700 Subject: [PATCH 1/2] Update clone options to be in sync with libgit2 master. Remove missing constants. --- clone.go | 27 +++++++++++++-------------- tree.go | 3 +-- 2 files changed, 14 insertions(+), 16 deletions(-) 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 From ced242954c1c40dc6eedb12ab5fe4443ef1ecbf4 Mon Sep 17 00:00:00 2001 From: David Calavera Date: Thu, 4 Sep 2014 07:57:10 -0700 Subject: [PATCH 2/2] Update vendored libgit2 version to master. --- vendor/libgit2 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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