From fe452620c62ae7beee1cee3e5aee9734743028a1 Mon Sep 17 00:00:00 2001 From: Alexander Surma Date: Mon, 1 Sep 2014 19:27:44 +0200 Subject: [PATCH 1/2] Repository.CreateCommit: Allow empty refname for non-update commit --- repository.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/repository.go b/repository.go index 5b4e806..774c2f8 100644 --- a/repository.go +++ b/repository.go @@ -328,6 +328,9 @@ func (v *Repository) CreateCommit( cref := C.CString(refname) defer C.free(unsafe.Pointer(cref)) + if refname == "" { + cref = nil + } cmsg := C.CString(message) defer C.free(unsafe.Pointer(cmsg)) -- 2.45.2 From d196da40ed52097c772cc4f61b35ece18b1b2f4c Mon Sep 17 00:00:00 2001 From: Alexander Surma Date: Thu, 4 Sep 2014 09:57:54 +0200 Subject: [PATCH 2/2] Repository.CreateCommit: Only allocate CStr on non-empty refname --- repository.go | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/repository.go b/repository.go index 774c2f8..09f5fef 100644 --- a/repository.go +++ b/repository.go @@ -326,10 +326,12 @@ func (v *Repository) CreateCommit( oid := new(Oid) - cref := C.CString(refname) - defer C.free(unsafe.Pointer(cref)) + var cref *C.char if refname == "" { cref = nil + } else { + cref = C.CString(refname) + defer C.free(unsafe.Pointer(cref)) } cmsg := C.CString(message) -- 2.45.2