File tree Expand file tree Collapse file tree 1 file changed +21
-3
lines changed
Expand file tree Collapse file tree 1 file changed +21
-3
lines changed Original file line number Diff line number Diff line change @@ -562,10 +562,28 @@ int git_reference_foreach(
562562 git_reference_foreach_cb callback ,
563563 void * payload )
564564{
565- git_refdb * refdb ;
566- git_repository_refdb__weakptr (& refdb , repo );
565+ git_reference_iterator * iter ;
566+ const char * name ;
567+ int error ;
568+
569+ GIT_UNUSED (list_flags );
570+
571+ if (git_reference_iterator_new (& iter , repo ) < 0 )
572+ return -1 ;
567573
568- return git_refdb_foreach (refdb , list_flags , callback , payload );
574+ while ((error = git_reference_next (& name , iter )) == 0 ) {
575+ if (callback (name , payload )) {
576+ error = GIT_EUSER ;
577+ goto out ;
578+ }
579+ }
580+
581+ if (error == GIT_ITEROVER )
582+ error = 0 ;
583+
584+ out :
585+ git_reference_iterator_free (iter );
586+ return error ;
569587}
570588
571589int git_reference_iterator_new (git_reference_iterator * * out , git_repository * repo )
You can’t perform that action at this time.
0 commit comments