From f5fc7e5f784348b469eb8d2125af75b6b4b0d14e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carlos=20Mart=C3=ADn=20Nieto?= Date: Mon, 17 Jun 2013 02:08:13 +0200 Subject: [PATCH] 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. --- reference.go | 12 ++++++------ reference_test.go | 9 +++++---- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/reference.go b/reference.go index 93ab7de..5aee276 100644 --- a/reference.go +++ b/reference.go @@ -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() } }() diff --git a/reference_test.go b/reference_test.go index 6ac4ece..77afaeb 100644 --- a/reference_test.go +++ b/reference_test.go @@ -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) }