summaryrefslogtreecommitdiffstats
path: root/models/repo.go
diff options
context:
space:
mode:
authorLauris BH <lauris@nix.lv>2020-01-31 08:57:19 +0200
committerGitHub <noreply@github.com>2020-01-31 08:57:19 +0200
commitb3d8e2d4f7a0ebf768ab6bcb102755839a6b9311 (patch)
treed06d78f4a74aa5887360442397531d61199bf805 /models/repo.go
parent159732dcb7420699245ef8410fff22002653d5b0 (diff)
downloadgitea-b3d8e2d4f7a0ebf768ab6bcb102755839a6b9311.tar.gz
gitea-b3d8e2d4f7a0ebf768ab6bcb102755839a6b9311.zip
Update topics repo count when deleting repository (#10051)
* Update topics repo count when deleting repository * Add migration to fix incorrect data * Optimize to use single update to recalculate values
Diffstat (limited to 'models/repo.go')
-rw-r--r--models/repo.go6
1 files changed, 6 insertions, 0 deletions
diff --git a/models/repo.go b/models/repo.go
index 5528a8e9d2..2d0f6fccbd 100644
--- a/models/repo.go
+++ b/models/repo.go
@@ -1571,6 +1571,12 @@ func DeleteRepository(doer *User, uid, repoID int64) error {
return err
}
+ if len(repo.Topics) > 0 {
+ if err = removeTopicsFromRepo(sess, repo.ID); err != nil {
+ return err
+ }
+ }
+
// FIXME: Remove repository files should be executed after transaction succeed.
repoPath := repo.RepoPath()
removeAllWithNotice(sess, "Delete repository files", repoPath)