remove useless wrappers
This commit is contained in:
parent
86efca0630
commit
6a068d5265
19
merge.go
19
merge.go
|
@ -72,9 +72,9 @@ func (r *Repository) MergeHeadFromRef(ref *Reference) (*MergeHead, error) {
|
||||||
type MergeFlag int
|
type MergeFlag int
|
||||||
|
|
||||||
const (
|
const (
|
||||||
MergeFlagDefault MergeFlag = 0
|
MergeFlagDefault MergeFlag = C.GIT_MERGE_DEFAULT
|
||||||
MergeNoFastForward = 1
|
MergeNoFastForward = C.GIT_MERGE_NO_FASTFORWARD
|
||||||
MergeFastForwardOnly = 2
|
MergeFastForwardOnly = C.GIT_MERGE_FASTFORWARD_ONLY
|
||||||
)
|
)
|
||||||
|
|
||||||
type MergeOptions struct {
|
type MergeOptions struct {
|
||||||
|
@ -187,15 +187,12 @@ func (r *Repository) Merge(theirHeads []*MergeHead, options MergeOptions) (*Merg
|
||||||
var result *C.git_merge_result
|
var result *C.git_merge_result
|
||||||
|
|
||||||
copts := options.toC()
|
copts := options.toC()
|
||||||
|
gmerge_head_array := make([]*C.git_merge_head, len(theirHeads))
|
||||||
cmerge_head_array := C._go_git_make_merge_head_array(C.size_t(len(theirHeads)))
|
for i := 0; i < len(theirHeads); i++ {
|
||||||
defer C.free(unsafe.Pointer(cmerge_head_array))
|
gmerge_head_array[i] = theirHeads[i].ptr
|
||||||
|
|
||||||
for i, _ := range theirHeads {
|
|
||||||
C._go_git_merge_head_array_set(cmerge_head_array, theirHeads[i].ptr, C.size_t(i))
|
|
||||||
}
|
}
|
||||||
|
ptr := unsafe.Pointer(&gmerge_head_array[0])
|
||||||
err := C.git_merge(&result, r.ptr, cmerge_head_array, C.size_t(len(theirHeads)), copts)
|
err := C.git_merge(&result, r.ptr, (**C.git_merge_head)(ptr), C.size_t(len(theirHeads)), copts)
|
||||||
if err < 0 {
|
if err < 0 {
|
||||||
return nil, MakeGitError(err)
|
return nil, MakeGitError(err)
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue