Merge pull request #70 from jezell/add-remote-list

Add git_remote_list + test
This commit is contained in:
Carlos Martín Nieto 2014-03-21 05:29:05 +01:00
commit b869775665
2 changed files with 32 additions and 0 deletions

View File

@ -132,6 +132,18 @@ func (r *Remote) Free() {
C.git_remote_free(r.ptr)
}
func (repo *Repository) ListRemotes() ([]string, error) {
var r C.git_strarray
ecode := C.git_remote_list(&r, repo.ptr)
if ecode < 0 {
return nil, MakeGitError(ecode)
}
defer C.git_strarray_free(&r)
remotes := makeStringsFromCStrings(r.strings, int(r.count))
return remotes, nil
}
func (repo *Repository) CreateRemote(name string, url string) (*Remote, error) {
remote := &Remote{}

View File

@ -8,6 +8,7 @@ import (
func TestRefspecs(t *testing.T) {
repo := createTestRepo(t)
defer os.RemoveAll(repo.Workdir())
defer repo.Free()
remote, err := repo.CreateRemoteInMemory("refs/heads/*:refs/heads/*", "git://foo/bar")
checkFatal(t, err)
@ -25,3 +26,22 @@ func TestRefspecs(t *testing.T) {
compareStringList(t, expected, actual)
}
func TestListRemotes(t *testing.T) {
repo := createTestRepo(t)
defer os.RemoveAll(repo.Workdir())
defer repo.Free()
_, err := repo.CreateRemote("test", "git://foo/bar")
checkFatal(t, err)
expected := []string{
"test",
}
actual, err := repo.ListRemotes()
checkFatal(t, err)
compareStringList(t, expected, actual)
}