From b831ae04aaf3af900fe39a93193aa6404ebf4c29 Mon Sep 17 00:00:00 2001 From: Ben Navetta Date: Mon, 18 Aug 2014 20:34:57 -0400 Subject: [PATCH] add StatusList() to Repository --- repository.go | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/repository.go b/repository.go index 8cc966c..90d71ff 100644 --- a/repository.go +++ b/repository.go @@ -119,6 +119,26 @@ func (v *Repository) Index() (*Index, error) { return newIndexFromC(ptr), nil } +func (v *Repository) StatusList() (*StatusList, error) { + var ptr *C.git_status_list + var options *C.git_status_options + + runtime.LockOSThread() + defer runtime.UnlockOSThread() + + ret := C.git_status_init_options(options, C.GIT_STATUS_OPTIONS_VERSION) + if ret < 0 { + return nil, MakeGitError(ret) + } + + ret = C.git_status_list_new(&ptr, v.ptr, options) + if ret < 0 { + return nil, MakeGitError(ret) + } + + return newStatusListFromC(ptr), nil +} + func (v *Repository) lookupType(id *Oid, t ObjectType) (Object, error) { var ptr *C.git_object