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:
parent
4aafeace23
commit
6b70a0c0d9
1 changed files with 4 additions and 1 deletions
|
@ -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,
|
||||||
|
|
Loading…
Reference in a new issue