示例#1
0
func (repo *Repository) Odb() (*Odb, error) {
	odb := new(Odb)
	ecode := C.git_repository_odb(&odb.git_odb, repo.git_repository)
	if ecode != git_SUCCESS {
		return nil, gitError()
	}
	return odb, nil
}
示例#2
0
func (v *Repository) Odb() (odb *Odb, err error) {
	odb = new(Odb)
	if ret := C.git_repository_odb(&odb.ptr, v.ptr); ret < 0 {
		return nil, LastError()
	}

	runtime.SetFinalizer(odb, (*Odb).Free)
	return
}
示例#3
0
文件: repository.go 项目: wid/git2go
func (v *Repository) Odb() (odb *Odb, err error) {
	odb = new(Odb)

	runtime.LockOSThread()
	defer runtime.UnlockOSThread()

	if ret := C.git_repository_odb(&odb.ptr, v.ptr); ret < 0 {
		return nil, MakeGitError(ret)
	}

	runtime.SetFinalizer(odb, (*Odb).Free)
	return odb, nil
}