diff options
Diffstat (limited to 'repository.go')
| -rw-r--r-- | repository.go | 26 |
1 files changed, 7 insertions, 19 deletions
diff --git a/repository.go b/repository.go index 8cc966c..09f5fef 100644 --- a/repository.go +++ b/repository.go @@ -326,8 +326,13 @@ 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) defer C.free(unsafe.Pointer(cmsg)) @@ -469,23 +474,6 @@ func (v *Repository) TreeBuilderFromTree(tree *Tree) (*TreeBuilder, error) { return bld, nil } -func (v *Repository) RevparseSingle(spec string) (Object, error) { - cspec := C.CString(spec) - defer C.free(unsafe.Pointer(cspec)) - - var ptr *C.git_object - - runtime.LockOSThread() - defer runtime.UnlockOSThread() - - ecode := C.git_revparse_single(&ptr, v.ptr, cspec) - if ecode < 0 { - return nil, MakeGitError(ecode) - } - - return allocObject(ptr, v), nil -} - // EnsureLog ensures that there is a reflog for the given reference // name and creates an empty one if necessary. func (v *Repository) EnsureLog(name string) error { |
