From 99283415bcbaa8acfe4d249ce3040de2f3a8b006 Mon Sep 17 00:00:00 2001 From: wxiaoguang Date: Tue, 16 May 2023 03:02:10 +0800 Subject: 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) --- services/convert/repository.go | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'services/convert/repository.go') diff --git a/services/convert/repository.go b/services/convert/repository.go index f470fd1656..54a61efe43 100644 --- a/services/convert/repository.go +++ b/services/convert/repository.go @@ -124,11 +124,10 @@ func innerToRepo(ctx context.Context, repo *repo_model.Repository, mode perm.Acc mirrorInterval := "" var mirrorUpdated time.Time if repo.IsMirror { - var err error - repo.Mirror, err = repo_model.GetMirrorByRepoID(ctx, repo.ID) + pullMirror, err := repo_model.GetMirrorByRepoID(ctx, repo.ID) if err == nil { - mirrorInterval = repo.Mirror.Interval.String() - mirrorUpdated = repo.Mirror.UpdatedUnix.AsTime() + mirrorInterval = pullMirror.Interval.String() + mirrorUpdated = pullMirror.UpdatedUnix.AsTime() } } -- cgit v1.2.3