| 15 | ) |
| 16 | |
| 17 | func (r *Repository) ResetToCommit(commit *Commit, resetType ResetType, opts *CheckoutOptions) error { |
| 18 | runtime.LockOSThread() |
| 19 | defer runtime.UnlockOSThread() |
| 20 | |
| 21 | var err error |
| 22 | cOpts := populateCheckoutOptions(&C.git_checkout_options{}, opts, &err) |
| 23 | defer freeCheckoutOptions(cOpts) |
| 24 | |
| 25 | ret := C.git_reset(r.ptr, commit.ptr, C.git_reset_t(resetType), cOpts) |
| 26 | if ret == C.int(ErrorCodeUser) && err != nil { |
| 27 | return err |
| 28 | } |
| 29 | if ret < 0 { |
| 30 | return MakeGitError(ret) |
| 31 | } |
| 32 | return nil |
| 33 | } |
| 34 | |
| 35 | func (r *Repository) ResetDefaultToCommit(commit *Commit, pathspecs []string) error { |
| 36 | cpathspecs := C.git_strarray{} |