From 7caac1fa7b52eb30df29aa3b460f6511993fafd0 Mon Sep 17 00:00:00 2001 From: Ankur Mittal Date: Wed, 19 Apr 2017 18:36:00 -0700 Subject: Add support for getting short object Id --- object.go | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'object.go') diff --git a/object.go b/object.go index 1981980..b365a3f 100644 --- a/object.go +++ b/object.go @@ -49,6 +49,20 @@ func (o *Object) Id() *Oid { return newOidFromC(C.git_object_id(o.ptr)) } +func (o *Object) ShortId() (string, error) { + resultBuf := C.git_buf{} + + runtime.LockOSThread() + defer runtime.UnlockOSThread() + + ecode := C.git_object_short_id(&resultBuf, o.ptr) + if ecode < 0 { + return "", MakeGitError(ecode) + } + defer C.git_buf_free(&resultBuf) + return C.GoString(resultBuf.ptr), nil +} + func (o *Object) Type() ObjectType { return ObjectType(C.git_object_type(o.ptr)) } -- cgit v1.2.3