Skip to content

Commit

Permalink
Deleting repository should unlink all related packages (#33653)
Browse files Browse the repository at this point in the history
Fix #33634

---------

Co-authored-by: Giteabot <teabot@gitea.io>
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
  • Loading branch information
3 people committed Feb 21, 2025
1 parent 9da6d4e commit d6dd8c4
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 6 deletions.
6 changes: 6 additions & 0 deletions services/repository/delete.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,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"
Expand Down Expand Up @@ -273,6 +274,11 @@ func DeleteRepositoryDirectly(ctx context.Context, doer *user_model.User, repoID
return err
}

// unlink packages linked to this repository
if err = packages_model.UnlinkRepositoryFromAllPackages(ctx, repoID); err != nil {
return err
}

if err = committer.Commit(); err != nil {
return err
}
Expand Down
7 changes: 1 addition & 6 deletions services/repository/repository.go
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down Expand Up @@ -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
Expand Down

0 comments on commit d6dd8c4

Please sign in to comment.