Merge pull request #70 from jezell/add-remote-list
Add git_remote_list + test
This commit is contained in:
commit
b869775665
12
remote.go
12
remote.go
|
@ -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{}
|
||||
|
||||
|
|
|
@ -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)
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue