From 6118c9ba37f494cbb892aa686416280ae6ee6593 Mon Sep 17 00:00:00 2001 From: ezwiebel Date: Wed, 23 Nov 2016 17:10:59 +1100 Subject: [PATCH] LockOSThread in CurrentOperationIndex for git error creation --- rebase.go | 5 +++++ rebase_test.go | 23 ----------------------- 2 files changed, 5 insertions(+), 23 deletions(-) diff --git a/rebase.go b/rebase.go index 8384d68..8553e25 100644 --- a/rebase.go +++ b/rebase.go @@ -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 } diff --git a/rebase_test.go b/rebase_test.go index 9c8e0c2..fb88a4e 100644 --- a/rebase_test.go +++ b/rebase_test.go @@ -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