MergeBaseOctopus finds a merge base in preparation for an octopus merge.
(oids []*Oid)
| 406 | |
| 407 | // MergeBaseOctopus finds a merge base in preparation for an octopus merge. |
| 408 | func (r *Repository) MergeBaseOctopus(oids []*Oid) (*Oid, error) { |
| 409 | coids := make([]C.git_oid, len(oids)) |
| 410 | for i := 0; i < len(oids); i++ { |
| 411 | coids[i] = *oids[i].toC() |
| 412 | } |
| 413 | |
| 414 | runtime.LockOSThread() |
| 415 | defer runtime.UnlockOSThread() |
| 416 | |
| 417 | var oid C.git_oid |
| 418 | ret := C.git_merge_base_octopus(&oid, r.ptr, C.size_t(len(oids)), &coids[0]) |
| 419 | runtime.KeepAlive(r) |
| 420 | runtime.KeepAlive(coids) |
| 421 | if ret < 0 { |
| 422 | return nil, MakeGitError(ret) |
| 423 | } |
| 424 | return newOidFromC(&oid), nil |
| 425 | } |
| 426 | |
| 427 | type MergeFileResult struct { |
| 428 | doNotCompare |