summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--clone.go27
-rw-r--r--tree.go3
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