예제 #1
0
파일: git.go 프로젝트: stettberger/go-git
func NewRevWalk(repo *Repo) (*RevWalk, error) {
	rev := new(RevWalk)
	if C.git_revwalk_new(&rev.git_revwalk, repo.git_repo) < GIT_SUCCESS {
		return nil, LastError()
	}
	return rev, nil
}
예제 #2
0
파일: revwalk.go 프로젝트: jgrocho/go-git2
func (repo *Repository) NewRevwalk() (*Revwalk, error) {
	revwalk := new(Revwalk)
	ecode := C.git_revwalk_new(&revwalk.git_revwalk, repo.git_repository)
	if ecode != git_SUCCESS {
		return nil, gitError()
	}
	return revwalk, nil
}
예제 #3
0
func (v *Repository) Walk() (*RevWalk, error) {
	walk := new(RevWalk)
	ecode := C.git_revwalk_new(&walk.ptr, v.ptr)
	if ecode < 0 {
		return nil, LastError()
	}

	walk.repo = v
	runtime.SetFinalizer(walk, freeRevWalk)
	return walk, nil
}
예제 #4
0
파일: repository.go 프로젝트: wid/git2go
func (v *Repository) Walk() (*RevWalk, error) {

	var walkPtr *C.git_revwalk

	runtime.LockOSThread()
	defer runtime.UnlockOSThread()

	ecode := C.git_revwalk_new(&walkPtr, v.ptr)
	if ecode < 0 {
		return nil, MakeGitError(ecode)
	}

	return revWalkFromC(v, walkPtr), nil
}