summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--reset.go16
1 files changed, 16 insertions, 0 deletions
diff --git a/reset.go b/reset.go
index 9da7625..031f5bd 100644
--- a/reset.go
+++ b/reset.go
@@ -24,3 +24,19 @@ func (r *Repository) ResetToCommit(commit *Commit, resetType ResetType, opts *Ch
}
return nil
}
+
+func (r *Repository) ResetDefaultToCommit(commit *Commit, pathspecs []string) error {
+ cpathspecs := C.git_strarray{}
+ cpathspecs.count = C.size_t(len(pathspecs))
+ cpathspecs.strings = makeCStringsFromStrings(pathspecs)
+ defer freeStrarray(&cpathspecs)
+
+ runtime.LockOSThread()
+ defer runtime.UnlockOSThread()
+ ret := C.git_reset_default(r.ptr, commit.ptr, &cpathspecs)
+
+ if ret < 0 {
+ return MakeGitError(ret)
+ }
+ return nil
+}