summaryrefslogtreecommitdiffstats
path: root/routers
diff options
context:
space:
mode:
authorChongyi Zheng <harryzheng25@gmail.com>2022-07-08 15:45:12 -0400
committerGitHub <noreply@github.com>2022-07-08 20:45:12 +0100
commit49f9d43afefd446287b1b2475d7127d405b7a873 (patch)
tree70f659343c5ed2ce174cb2a5aacb6a66a5084c23 /routers
parent496b8e39900842c8253250d3eaddf587be35dfa3 (diff)
downloadgitea-49f9d43afefd446287b1b2475d7127d405b7a873.tar.gz
gitea-49f9d43afefd446287b1b2475d7127d405b7a873.zip
Implement sync push mirror on commit (#19411)
Support synchronizing with the push mirrors whenever new commits are pushed or synced from pull mirror. Related Issues: #18220 Co-authored-by: delvh <dev.lh@web.de> Co-authored-by: zeripath <art27@cantab.net> Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
Diffstat (limited to 'routers')
-rw-r--r--routers/api/v1/repo/mirror.go4
-rw-r--r--routers/web/repo/setting.go14
2 files changed, 10 insertions, 8 deletions
diff --git a/routers/api/v1/repo/mirror.go b/routers/api/v1/repo/mirror.go
index 1af63c55be..3d29383550 100644
--- a/routers/api/v1/repo/mirror.go
+++ b/routers/api/v1/repo/mirror.go
@@ -11,8 +11,8 @@ import (
repo_model "code.gitea.io/gitea/models/repo"
"code.gitea.io/gitea/models/unit"
"code.gitea.io/gitea/modules/context"
+ mirror_module "code.gitea.io/gitea/modules/mirror"
"code.gitea.io/gitea/modules/setting"
- mirror_service "code.gitea.io/gitea/services/mirror"
)
// MirrorSync adds a mirrored repository to the sync queue
@@ -59,7 +59,7 @@ func MirrorSync(ctx *context.APIContext) {
return
}
- mirror_service.StartToMirror(repo.ID)
+ mirror_module.AddPullMirrorToQueue(repo.ID)
ctx.Status(http.StatusOK)
}
diff --git a/routers/web/repo/setting.go b/routers/web/repo/setting.go
index fae62c1020..5ded0561c6 100644
--- a/routers/web/repo/setting.go
+++ b/routers/web/repo/setting.go
@@ -29,6 +29,7 @@ import (
"code.gitea.io/gitea/modules/indexer/stats"
"code.gitea.io/gitea/modules/lfs"
"code.gitea.io/gitea/modules/log"
+ mirror_module "code.gitea.io/gitea/modules/mirror"
"code.gitea.io/gitea/modules/repository"
"code.gitea.io/gitea/modules/setting"
"code.gitea.io/gitea/modules/structs"
@@ -272,7 +273,7 @@ func SettingsPost(ctx *context.Context) {
return
}
- mirror_service.StartToMirror(repo.ID)
+ mirror_module.AddPullMirrorToQueue(repo.ID)
ctx.Flash.Info(ctx.Tr("repo.settings.mirror_sync_in_progress"))
ctx.Redirect(repo.Link() + "/settings")
@@ -289,7 +290,7 @@ func SettingsPost(ctx *context.Context) {
return
}
- mirror_service.AddPushMirrorToQueue(m.ID)
+ mirror_module.AddPushMirrorToQueue(m.ID)
ctx.Flash.Info(ctx.Tr("repo.settings.mirror_sync_in_progress"))
ctx.Redirect(repo.Link() + "/settings")
@@ -357,10 +358,11 @@ func SettingsPost(ctx *context.Context) {
}
m := &repo_model.PushMirror{
- RepoID: repo.ID,
- Repo: repo,
- RemoteName: fmt.Sprintf("remote_mirror_%s", remoteSuffix),
- Interval: interval,
+ RepoID: repo.ID,
+ Repo: repo,
+ RemoteName: fmt.Sprintf("remote_mirror_%s", remoteSuffix),
+ SyncOnCommit: form.PushMirrorSyncOnCommit,
+ Interval: interval,
}
if err := repo_model.InsertPushMirror(m); err != nil {
ctx.ServerError("InsertPushMirror", err)