Add branch iterator #66
|
@ -32,7 +32,7 @@ func TestBranchIterator(t *testing.T) {
|
|||
checkFatal(t, err)
|
||||
|
||||
list := make([]string, 0)
|
||||
for ref := range ReferenceNameIteratorChannel(i) {
|
||||
for ref := range NameIteratorChannel(i) {
|
||||
list = append(list, ref)
|
||||
}
|
||||
|
||||
|
|
10
reference.go
10
reference.go
|
@ -185,12 +185,16 @@ func (v *Reference) Free() {
|
|||
C.git_reference_free(v.ptr)
|
||||
}
|
||||
|
||||
type ReferenceIterator interface {
|
||||
Next() (*Reference, error)
|
||||
type NameIterator interface {
|
||||
NextName() (string, error)
|
||||
Free()
|
||||
}
|
||||
|
||||
type ReferenceIterator interface {
|
||||
NameIterator
|
||||
Next() (*Reference, error)
|
||||
}
|
||||
|
||||
type gitReferenceIterator struct {
|
||||
ptr *C.git_reference_iterator
|
||||
}
|
||||
|
@ -255,7 +259,7 @@ func (v *gitReferenceIterator) NextName() (string, error) {
|
|||
// Create a channel from the iterator. You can use range on the
|
||||
// returned channel to iterate over all the references names. The channel
|
||||
// will be closed in case any error is found.
|
||||
func ReferenceNameIteratorChannel(v ReferenceIterator) <-chan string {
|
||||
func NameIteratorChannel(v NameIterator) <-chan string {
|
||||
ch := make(chan string)
|
||||
go func() {
|
||||
defer close(ch)
|
||||
|
|
|
@ -138,7 +138,7 @@ func TestReferenceIterator(t *testing.T) {
|
|||
// test the channel iteration
|
||||
list = []string{}
|
||||
iter, err = repo.NewReferenceIterator()
|
||||
for name := range ReferenceNameIteratorChannel(iter) {
|
||||
for name := range NameIteratorChannel(iter) {
|
||||
list = append(list, name)
|
||||
}
|
||||
|
||||
|
@ -152,7 +152,7 @@ func TestReferenceIterator(t *testing.T) {
|
|||
}
|
||||
|
||||
list = []string{}
|
||||
for name := range ReferenceNameIteratorChannel(iter) {
|
||||
for name := range NameIteratorChannel(iter) {
|
||||
list = append(list, name)
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue