LockOSThread in CurrentOperationIndex for git error creation
This commit is contained in:
parent
a671e67ee8
commit
6118c9ba37
|
@ -145,16 +145,21 @@ func (r *Repository) OpenRebase(opts *RebaseOptions) (*Rebase, error) {
|
|||
// OperationAt gets the rebase operation specified by the given index.
|
||||
func (rebase *Rebase) OperationAt(index uint) *RebaseOperation {
|
||||
operation := C.git_rebase_operation_byindex(rebase.ptr, C.size_t(index))
|
||||
|
||||
return newRebaseOperationFromC(operation)
|
||||
}
|
||||
|
||||
// CurrentOperationIndex gets the index of the rebase operation that is currently being applied.
|
||||
// Returns an error if no rebase operation is currently applied.
|
||||
func (rebase *Rebase) CurrentOperationIndex() (uint, error) {
|
||||
runtime.LockOSThread()
|
||||
defer runtime.UnlockOSThread()
|
||||
|
||||
operationIndex := int(C.git_rebase_operation_current(rebase.ptr))
|
||||
if operationIndex == C.GIT_REBASE_NO_OPERATION {
|
||||
return 0, MakeGitError(C.GIT_REBASE_NO_OPERATION)
|
||||
}
|
||||
|
||||
return uint(operationIndex), nil
|
||||
}
|
||||
|
||||
|
|
|
@ -9,29 +9,6 @@ import (
|
|||
|
||||
// Tests
|
||||
|
||||
func TestDefaultRebaseOptions(t *testing.T) {
|
||||
opts, err := DefaultRebaseOptions()
|
||||
checkFatal(t, err)
|
||||
|
||||
if opts.Version != 1 {
|
||||
t.Error("Expected opts Version to equal 1, got ", opts.Version)
|
||||
}
|
||||
if opts.Quiet != 0 {
|
||||
t.Error("Expected opts Quiet to equal 1, got ", opts.Quiet)
|
||||
}
|
||||
if opts.InMemory != 0 {
|
||||
t.Error("Expected opts InMemory to equal 1, got ", opts.InMemory)
|
||||
}
|
||||
if opts.RewriteNotesRef != "" {
|
||||
t.Error("Expected opts RewriteNotesRef to equal 1, got ", opts.RewriteNotesRef)
|
||||
}
|
||||
|
||||
copts := opts.toC()
|
||||
if copts == nil {
|
||||
t.Error("Copts should not be nil")
|
||||
}
|
||||
}
|
||||
|
||||
func TestRebaseAbort(t *testing.T) {
|
||||
// TEST DATA
|
||||
|
||||
|
|
Loading…
Reference in New Issue