0
Fork 0
mirror of https://codeberg.org/forgejo/forgejo.git synced 2024-12-26 01:14:10 -05:00

#1032: legacy code can have duplicated IDs for same repository

This commit is contained in:
Unknwon 2015-03-12 15:09:40 -04:00
parent 4aafeace23
commit 6b70a0c0d9

View file

@ -341,12 +341,15 @@ func teamToTeamRepo(x *xorm.Engine) error {
orgID := com.StrTo(team["org_id"]).MustInt64() orgID := com.StrTo(team["org_id"]).MustInt64()
teamID := com.StrTo(team["id"]).MustInt64() teamID := com.StrTo(team["id"]).MustInt64()
// #1032: legacy code can have duplicated IDs for same repository.
mark := make(map[int64]bool)
for _, idStr := range strings.Split(string(team["repo_ids"]), "|") { for _, idStr := range strings.Split(string(team["repo_ids"]), "|") {
repoID := com.StrTo(strings.TrimPrefix(idStr, "$")).MustInt64() repoID := com.StrTo(strings.TrimPrefix(idStr, "$")).MustInt64()
if repoID == 0 { if repoID == 0 || mark[repoID] {
continue continue
} }
mark[repoID] = true
teamRepos = append(teamRepos, &TeamRepo{ teamRepos = append(teamRepos, &TeamRepo{
OrgID: orgID, OrgID: orgID,
TeamID: teamID, TeamID: teamID,