diff options
author | wxiaoguang <wxiaoguang@gmail.com> | 2023-05-16 03:02:10 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-05-15 19:02:10 +0000 |
commit | 99283415bcbaa8acfe4d249ce3040de2f3a8b006 (patch) | |
tree | fec2fa557f45ffce4deea301758b869d87d5e4b9 /modules | |
parent | b9fad73e9fcf40e81cde3304198105af6c668421 (diff) | |
download | gitea-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.go | 9 |
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 |