-
-
Notifications
You must be signed in to change notification settings - Fork 6k
Closed
Labels
type/enhancementAn improvement of existing functionalityAn improvement of existing functionality
Description
- Gitea version (or commit ref): 1.9.4 (also 1.10.0+dev-414-gf1fdd782d)
- Git version: not relevant
- Operating system: ubuntu 18.04
- Database (use
[x]
):- PostgreSQL
- MySQL
- MSSQL
- SQLite
- Can you reproduce the bug at https://try.gitea.io:
- Yes (provide example URL)
- No
- Not relevant
- Log gist:
Description
With the combination of many users and many repositories in a team, it can take very long time to add a single new team member. Example adding one user to team with ~100 members x 100 repositories: 160 seconds.
When adding a new team members the function recalculateTeamAccesses is run over all team's repositories. This function has to go through all collaborators and teams for the repository. So the time for adding a repository is something in the order of O(teams:users*repositories). It should be possible to only recalculate the access of the specific user that was added (or deleted) to the team for each repository, only giving O(repositories).
Metadata
Metadata
Assignees
Labels
type/enhancementAn improvement of existing functionalityAn improvement of existing functionality