Skip to content

Commit e69be4c

Browse files
lunnyGusted
authored andcommitted
Deleting repository should unlink all related packages (go-gitea#33653)
Fix go-gitea#33634 --------- Co-authored-by: Giteabot <[email protected]> Co-authored-by: wxiaoguang <[email protected]> (cherry picked from commit f2fbb89)
1 parent fae5681 commit e69be4c

File tree

2 files changed

+12
-11
lines changed

2 files changed

+12
-11
lines changed

services/repository/delete.go

+11
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ import (
1616
git_model "code.gitea.io/gitea/models/git"
1717
issues_model "code.gitea.io/gitea/models/issues"
1818
"code.gitea.io/gitea/models/organization"
19+
packages_model "code.gitea.io/gitea/models/packages"
1920
access_model "code.gitea.io/gitea/models/perm/access"
2021
project_model "code.gitea.io/gitea/models/project"
2122
repo_model "code.gitea.io/gitea/models/repo"
@@ -28,6 +29,7 @@ import (
2829
"code.gitea.io/gitea/modules/log"
2930
"code.gitea.io/gitea/modules/setting"
3031
"code.gitea.io/gitea/modules/storage"
32+
federation_service "code.gitea.io/gitea/services/federation"
3133

3234
"xorm.io/builder"
3335
)
@@ -289,6 +291,15 @@ func DeleteRepositoryDirectly(ctx context.Context, doer *user_model.User, repoID
289291
return err
290292
}
291293

294+
if err := federation_service.DeleteFollowingRepos(ctx, repo.ID); err != nil {
295+
return err
296+
}
297+
298+
// unlink packages linked to this repository
299+
if err = packages_model.UnlinkRepositoryFromAllPackages(ctx, repoID); err != nil {
300+
return err
301+
}
302+
292303
if err = committer.Commit(); err != nil {
293304
return err
294305
}

services/repository/repository.go

+1-11
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ import (
1212
"code.gitea.io/gitea/models/git"
1313
issues_model "code.gitea.io/gitea/models/issues"
1414
"code.gitea.io/gitea/models/organization"
15-
packages_model "code.gitea.io/gitea/models/packages"
1615
repo_model "code.gitea.io/gitea/models/repo"
1716
system_model "code.gitea.io/gitea/models/system"
1817
"code.gitea.io/gitea/models/unit"
@@ -22,7 +21,6 @@ import (
2221
repo_module "code.gitea.io/gitea/modules/repository"
2322
"code.gitea.io/gitea/modules/setting"
2423
"code.gitea.io/gitea/modules/structs"
25-
federation_service "code.gitea.io/gitea/services/federation"
2624
notify_service "code.gitea.io/gitea/services/notify"
2725
pull_service "code.gitea.io/gitea/services/pull"
2826
)
@@ -64,15 +62,7 @@ func DeleteRepository(ctx context.Context, doer *user_model.User, repo *repo_mod
6462
notify_service.DeleteRepository(ctx, doer, repo)
6563
}
6664

67-
if err := DeleteRepositoryDirectly(ctx, doer, repo.ID); err != nil {
68-
return err
69-
}
70-
71-
if err := federation_service.DeleteFollowingRepos(ctx, repo.ID); err != nil {
72-
return err
73-
}
74-
75-
return packages_model.UnlinkRepositoryFromAllPackages(ctx, repo.ID)
65+
return DeleteRepositoryDirectly(ctx, doer, repo.ID)
7666
}
7767

7868
// PushCreateRepo creates a repository when a new repository is pushed to an appropriate namespace

0 commit comments

Comments
 (0)