Skip to content

Commit e7773a4

Browse files
authored
zoekt-mirror-gitea: fix getting all repos (sourcegraph#1045)
1 parent f469edd commit e7773a4

1 file changed

Lines changed: 22 additions & 1 deletion

File tree

cmd/zoekt-mirror-gitea/main.go

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ func main() {
112112
repos, err = getUserRepos(client, *user, reposFilters)
113113
default:
114114
log.Printf("no user or org specified, cloning all repos.")
115-
repos, err = getUserRepos(client, "", reposFilters)
115+
repos, err = getAllRepos(client, reposFilters)
116116
}
117117

118118
if err != nil {
@@ -226,6 +226,27 @@ func getOrgRepos(client *gitea.Client, org string, reposFilters reposFilters) ([
226226
return allRepos, nil
227227
}
228228

229+
func getAllRepos(client *gitea.Client, reposFilters reposFilters) ([]*gitea.Repository, error) {
230+
var allRepos []*gitea.Repository
231+
searchOptions := &gitea.SearchRepoOptions{}
232+
for {
233+
repos, resp, err := client.SearchRepos(*searchOptions)
234+
if err != nil {
235+
return nil, err
236+
}
237+
if len(repos) == 0 {
238+
break
239+
}
240+
repos = filterRepositories(repos, *reposFilters.noArchived)
241+
allRepos = append(allRepos, repos...)
242+
searchOptions.Page = resp.NextPage
243+
if resp.NextPage == 0 {
244+
break
245+
}
246+
}
247+
return allRepos, nil
248+
}
249+
229250
func getUserRepos(client *gitea.Client, user string, reposFilters reposFilters) ([]*gitea.Repository, error) {
230251
var allRepos []*gitea.Repository
231252
searchOptions := &gitea.SearchRepoOptions{}

0 commit comments

Comments
 (0)