From e71f2c752c3aec2a43837556af2f96aaf5d8f965 Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Wed, 19 Feb 2025 22:42:26 -0800 Subject: [PATCH 1/3] Deleting repository should unlink all related packages --- services/repository/delete.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/services/repository/delete.go b/services/repository/delete.go index fb3fffdca71a0..07a644cae0ce3 100644 --- a/services/repository/delete.go +++ b/services/repository/delete.go @@ -14,6 +14,7 @@ import ( git_model "code.gitea.io/gitea/models/git" issues_model "code.gitea.io/gitea/models/issues" "code.gitea.io/gitea/models/organization" + packages_model "code.gitea.io/gitea/models/packages" access_model "code.gitea.io/gitea/models/perm/access" project_model "code.gitea.io/gitea/models/project" repo_model "code.gitea.io/gitea/models/repo" @@ -267,6 +268,11 @@ func DeleteRepositoryDirectly(ctx context.Context, doer *user_model.User, repoID return err } + // update packages linked to this repository + if err = packages_model.UnlinkRepositoryFromAllPackages(ctx, repoID); err != nil { + return err + } + if err = committer.Commit(); err != nil { return err } From 44aefd05c74e85547e1a301821b10a325523e032 Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Thu, 20 Feb 2025 12:17:37 -0800 Subject: [PATCH 2/3] Remove duplicated unlink package from repository --- services/repository/repository.go | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/services/repository/repository.go b/services/repository/repository.go index 59b4491132da9..fcc617979ef29 100644 --- a/services/repository/repository.go +++ b/services/repository/repository.go @@ -11,7 +11,6 @@ import ( "code.gitea.io/gitea/models/git" issues_model "code.gitea.io/gitea/models/issues" "code.gitea.io/gitea/models/organization" - packages_model "code.gitea.io/gitea/models/packages" repo_model "code.gitea.io/gitea/models/repo" system_model "code.gitea.io/gitea/models/system" "code.gitea.io/gitea/models/unit" @@ -63,11 +62,7 @@ func DeleteRepository(ctx context.Context, doer *user_model.User, repo *repo_mod notify_service.DeleteRepository(ctx, doer, repo) } - if err := DeleteRepositoryDirectly(ctx, doer, repo.ID); err != nil { - return err - } - - return packages_model.UnlinkRepositoryFromAllPackages(ctx, repo.ID) + return DeleteRepositoryDirectly(ctx, doer, repo.ID) } // PushCreateRepo creates a repository when a new repository is pushed to an appropriate namespace From e66b43e670a292b65ff89f74c5b00c22b1a18939 Mon Sep 17 00:00:00 2001 From: wxiaoguang Date: Fri, 21 Feb 2025 11:51:57 +0800 Subject: [PATCH 3/3] Update services/repository/delete.go --- services/repository/delete.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services/repository/delete.go b/services/repository/delete.go index 07a644cae0ce3..3b953d3ec7f37 100644 --- a/services/repository/delete.go +++ b/services/repository/delete.go @@ -268,7 +268,7 @@ func DeleteRepositoryDirectly(ctx context.Context, doer *user_model.User, repoID return err } - // update packages linked to this repository + // unlink packages linked to this repository if err = packages_model.UnlinkRepositoryFromAllPackages(ctx, repoID); err != nil { return err }