From 03e10c56391b1d7ca7e2c4e59417500bea2bd242 Mon Sep 17 00:00:00 2001 From: ezwiebel Date: Wed, 14 Sep 2016 14:42:58 +1000 Subject: [PATCH] Fix reference bug introduced with RebaseOptions implementation --- rebase.go | 9 ++++++++- rebase_test.go | 6 ++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/rebase.go b/rebase.go index 464840b..f28c7f6 100644 --- a/rebase.go +++ b/rebase.go @@ -84,12 +84,19 @@ func (ro *RebaseOptions) toC() *C.git_rebase_options { version: C.uint(ro.Version), quiet: C.int(ro.Quiet), inmemory: C.int(ro.InMemory), - rewrite_notes_ref: C.CString(ro.RewriteNotesRef), + rewrite_notes_ref: rewriteNotesRefToC(ro.RewriteNotesRef), merge_options: *ro.MergeOptions.toC(), checkout_options: *ro.CheckoutOptions.toC(), } } +func rewriteNotesRefToC(ref string) *C.char { + if ref == "" { + return nil + } + return C.CString(ref) +} + // Rebase object wrapper for C pointer type Rebase struct { ptr *C.git_rebase diff --git a/rebase_test.go b/rebase_test.go index f76baed..38d6868 100644 --- a/rebase_test.go +++ b/rebase_test.go @@ -143,6 +143,12 @@ func TestRebaseNoConflicts(t *testing.T) { err = rebase.Finish() checkFatal(t, err) + // Check no more rebase is in progress + oRebase, err = repo.RebaseOpen(nil) + if err == nil { + t.Fatal("Did not expect to find a rebase in progress") + } + // Check history is in correct order actualHistory, err := commitMsgsList(repo) checkFatal(t, err)