diff options
| author | ezwiebel <[email protected]> | 2016-09-14 14:42:58 +1000 |
|---|---|---|
| committer | ezwiebel <[email protected]> | 2016-09-14 14:42:58 +1000 |
| commit | 03e10c56391b1d7ca7e2c4e59417500bea2bd242 (patch) | |
| tree | 120b45cbed2bf3f0126e4bcc3d7ccbbb8e737e1d | |
| parent | adc3a4bd89723785b5f04dd14691472300a03bdb (diff) | |
Fix reference bug introduced with RebaseOptions implementation
| -rw-r--r-- | rebase.go | 9 | ||||
| -rw-r--r-- | rebase_test.go | 6 |
2 files changed, 14 insertions, 1 deletions
@@ -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) |
