Restore setting of ctx.Repo.Mirror (#18205)

In #17933 repoAssignment no longer sets the ctx.Repo.Mirror field meaning that
attempting change mirror settings results in an NPE. This PR simply restores this.

Either we should remove this field or, we should set it. At present it seems simplest
to set it instead of going looking in the Data for the value although converting the
context to a bag of things may be the correct approach in the future.

Fix #18204

Signed-off-by: Andrew Thornton <art27@cantab.net>

Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
This commit is contained in:
zeripath 2022-01-08 02:03:51 +00:00 committed by GitHub
parent 69a4bd02f0
commit 832f987d80
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -366,14 +366,14 @@ func repoAssignment(ctx *Context, repo *repo_model.Repository) {
if repo.IsMirror {
var err error
mirror, err := repo_model.GetMirrorByRepoID(repo.ID)
ctx.Repo.Mirror, err = repo_model.GetMirrorByRepoID(repo.ID)
if err != nil {
ctx.ServerError("GetMirrorByRepoID", err)
return
}
ctx.Data["MirrorEnablePrune"] = mirror.EnablePrune
ctx.Data["MirrorInterval"] = mirror.Interval
ctx.Data["Mirror"] = mirror
ctx.Data["MirrorEnablePrune"] = ctx.Repo.Mirror.EnablePrune
ctx.Data["MirrorInterval"] = ctx.Repo.Mirror.Interval
ctx.Data["Mirror"] = ctx.Repo.Mirror
}
pushMirrors, err := repo_model.GetPushMirrorsByRepoID(repo.ID)