mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2024-11-01 06:48:56 +00:00
Backport #19140 The adoption page checks directories to see if they are repositories by querying the db on a per user basis. This can lead to problems if a user has a large number of repositories or putative repositories. This PR changes the buffering to check the db in IterataeBufferSize batches instead. Fix #19137 Signed-off-by: Andrew Thornton <art27@cantab.net>
This commit is contained in:
parent
08feb6b664
commit
23b8214549
1 changed files with 7 additions and 0 deletions
|
@ -335,6 +335,13 @@ func ListUnadoptedRepositories(query string, opts *db.ListOptions) ([]string, in
|
||||||
}
|
}
|
||||||
|
|
||||||
repoNamesToCheck = append(repoNamesToCheck, name)
|
repoNamesToCheck = append(repoNamesToCheck, name)
|
||||||
|
if len(repoNamesToCheck) > setting.Database.IterateBufferSize {
|
||||||
|
if err = checkUnadoptedRepositories(userName, repoNamesToCheck, unadopted); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
repoNamesToCheck = repoNamesToCheck[:0]
|
||||||
|
|
||||||
|
}
|
||||||
return filepath.SkipDir
|
return filepath.SkipDir
|
||||||
}); err != nil {
|
}); err != nil {
|
||||||
return nil, 0, err
|
return nil, 0, err
|
||||||
|
|
Loading…
Reference in a new issue