summaryrefslogtreecommitdiffstats
path: root/modules
diff options
context:
space:
mode:
authorwxiaoguang <wxiaoguang@gmail.com>2023-05-16 03:02:10 +0800
committerGitHub <noreply@github.com>2023-05-15 19:02:10 +0000
commit99283415bcbaa8acfe4d249ce3040de2f3a8b006 (patch)
treefec2fa557f45ffce4deea301758b869d87d5e4b9 /modules
parentb9fad73e9fcf40e81cde3304198105af6c668421 (diff)
downloadgitea-99283415bcbaa8acfe4d249ce3040de2f3a8b006.tar.gz
gitea-99283415bcbaa8acfe4d249ce3040de2f3a8b006.zip
Refactor Pull Mirror and fix out-of-sync bugs (#24732)
The "mirror" table and "repository" table might be out-of-sync in some cases. It means that "IsMirror=true" but "Mirror=nil" This PR removes unnecessary "Mirror" field, rename "Mirror" to "PullMirror" and fix nil panic bug. Screenshot of changed templates: ![image](https://github.com/go-gitea/gitea/assets/2114189/c0f2bdfc-5911-43ea-b989-b19619de4235) ![image](https://github.com/go-gitea/gitea/assets/2114189/1078b41a-484f-4c06-8c2f-edb9e658275d)
Diffstat (limited to 'modules')
-rw-r--r--modules/context/repo.go9
1 files changed, 2 insertions, 7 deletions
diff --git a/modules/context/repo.go b/modules/context/repo.go
index b20ea26e4e..5e90e8aec0 100644
--- a/modules/context/repo.go
+++ b/modules/context/repo.go
@@ -61,7 +61,6 @@ type Repository struct {
RepoLink string
CloneLink repo_model.CloneLink
CommitsCount int64
- Mirror *repo_model.Mirror
PullRequest *PullRequest
}
@@ -380,13 +379,9 @@ func repoAssignment(ctx *Context, repo *repo_model.Repository) {
ctx.Data["Permission"] = &ctx.Repo.Permission
if repo.IsMirror {
- ctx.Repo.Mirror, err = repo_model.GetMirrorByRepoID(ctx, repo.ID)
+ pullMirror, err := repo_model.GetMirrorByRepoID(ctx, repo.ID)
if err == nil {
- ctx.Repo.Mirror.Repo = repo
- ctx.Data["IsPullMirror"] = true
- ctx.Data["MirrorEnablePrune"] = ctx.Repo.Mirror.EnablePrune
- ctx.Data["MirrorInterval"] = ctx.Repo.Mirror.Interval
- ctx.Data["Mirror"] = ctx.Repo.Mirror
+ ctx.Data["PullMirror"] = pullMirror
} else if err != repo_model.ErrMirrorNotExist {
ctx.ServerError("GetMirrorByRepoID", err)
return