Reference: adjust to iterator changes

The Library's iterators now can return either the reference or the
reference's name. As the name is what we're set up for, rename the
functions appropriately so we compile against altest development.
This commit is contained in:
Carlos Martín Nieto 2013-06-17 02:08:13 +02:00
parent a33875f9c5
commit f5fc7e5f78
2 changed files with 11 additions and 10 deletions

View File

@ -149,9 +149,9 @@ func (repo *Repository) NewReferenceIteratorGlob(glob string) (*ReferenceIterato
// Next retrieves the next reference name. If the iteration is over,
// the returned error is git.ErrIterOver
func (v *ReferenceIterator) Next() (string, error) {
func (v *ReferenceIterator) NextName() (string, error) {
var ptr *C.char
ret := C.git_reference_next(&ptr, v.ptr)
ret := C.git_reference_next_name(&ptr, v.ptr)
if ret == ITEROVER {
return "", ErrIterOver
}
@ -163,16 +163,16 @@ func (v *ReferenceIterator) Next() (string, error) {
}
// Create a channel from the iterator. You can use range on the
// returned channel to iterate over all the references. The channel
// returned channel to iterate over all the references names. The channel
// will be closed in case any error is found.
func (v *ReferenceIterator) Iter() <-chan string {
func (v *ReferenceIterator) NameIter() <-chan string {
ch := make(chan string)
go func() {
defer close(ch)
name, err := v.Next()
name, err := v.NextName()
for err == nil {
ch <- name
name, err = v.Next()
name, err = v.NextName()
}
}()

View File

@ -5,6 +5,7 @@ import (
"runtime"
"sort"
"testing"
"time"
)
func TestRefModification(t *testing.T) {
@ -98,10 +99,10 @@ func TestIterator(t *testing.T) {
}
// test some manual iteration
name, err := iter.Next()
name, err := iter.NextName()
for err == nil {
list = append(list, name)
name, err = iter.Next()
name, err = iter.NextName()
}
if err != ErrIterOver {
t.Fatal("Iteration not over")
@ -114,7 +115,7 @@ func TestIterator(t *testing.T) {
// test the channel iteration
list = []string{}
iter, err = repo.NewReferenceIterator()
for name := range iter.Iter() {
for name := range iter.NameIter() {
list = append(list, name)
}
@ -128,7 +129,7 @@ func TestIterator(t *testing.T) {
}
list = []string{}
for name := range iter.Iter() {
for name := range iter.NameIter() {
list = append(list, name)
}