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:
parent
a33875f9c5
commit
f5fc7e5f78
12
reference.go
12
reference.go
|
@ -149,9 +149,9 @@ func (repo *Repository) NewReferenceIteratorGlob(glob string) (*ReferenceIterato
|
||||||
|
|
||||||
// Next retrieves the next reference name. If the iteration is over,
|
// Next retrieves the next reference name. If the iteration is over,
|
||||||
// the returned error is git.ErrIterOver
|
// the returned error is git.ErrIterOver
|
||||||
func (v *ReferenceIterator) Next() (string, error) {
|
func (v *ReferenceIterator) NextName() (string, error) {
|
||||||
var ptr *C.char
|
var ptr *C.char
|
||||||
ret := C.git_reference_next(&ptr, v.ptr)
|
ret := C.git_reference_next_name(&ptr, v.ptr)
|
||||||
if ret == ITEROVER {
|
if ret == ITEROVER {
|
||||||
return "", ErrIterOver
|
return "", ErrIterOver
|
||||||
}
|
}
|
||||||
|
@ -163,16 +163,16 @@ func (v *ReferenceIterator) Next() (string, error) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Create a channel from the iterator. You can use range on the
|
// 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.
|
// 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)
|
ch := make(chan string)
|
||||||
go func() {
|
go func() {
|
||||||
defer close(ch)
|
defer close(ch)
|
||||||
name, err := v.Next()
|
name, err := v.NextName()
|
||||||
for err == nil {
|
for err == nil {
|
||||||
ch <- name
|
ch <- name
|
||||||
name, err = v.Next()
|
name, err = v.NextName()
|
||||||
}
|
}
|
||||||
}()
|
}()
|
||||||
|
|
||||||
|
|
|
@ -5,6 +5,7 @@ import (
|
||||||
"runtime"
|
"runtime"
|
||||||
"sort"
|
"sort"
|
||||||
"testing"
|
"testing"
|
||||||
|
"time"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestRefModification(t *testing.T) {
|
func TestRefModification(t *testing.T) {
|
||||||
|
@ -98,10 +99,10 @@ func TestIterator(t *testing.T) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// test some manual iteration
|
// test some manual iteration
|
||||||
name, err := iter.Next()
|
name, err := iter.NextName()
|
||||||
for err == nil {
|
for err == nil {
|
||||||
list = append(list, name)
|
list = append(list, name)
|
||||||
name, err = iter.Next()
|
name, err = iter.NextName()
|
||||||
}
|
}
|
||||||
if err != ErrIterOver {
|
if err != ErrIterOver {
|
||||||
t.Fatal("Iteration not over")
|
t.Fatal("Iteration not over")
|
||||||
|
@ -114,7 +115,7 @@ func TestIterator(t *testing.T) {
|
||||||
// test the channel iteration
|
// test the channel iteration
|
||||||
list = []string{}
|
list = []string{}
|
||||||
iter, err = repo.NewReferenceIterator()
|
iter, err = repo.NewReferenceIterator()
|
||||||
for name := range iter.Iter() {
|
for name := range iter.NameIter() {
|
||||||
list = append(list, name)
|
list = append(list, name)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -128,7 +129,7 @@ func TestIterator(t *testing.T) {
|
||||||
}
|
}
|
||||||
|
|
||||||
list = []string{}
|
list = []string{}
|
||||||
for name := range iter.Iter() {
|
for name := range iter.NameIter() {
|
||||||
list = append(list, name)
|
list = append(list, name)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue