From 4b2c3719d1301060a182f19207fd6d7260d1480f Mon Sep 17 00:00:00 2001 From: Jason Song Date: Mon, 20 Feb 2023 20:30:45 +0800 Subject: [PATCH 1/4] fix: add force_merge to request --- routers/api/v1/repo/pull.go | 3 +-- routers/web/repo/pull.go | 3 +-- services/forms/repo_form.go | 2 +- web_src/js/components/PullRequestMergeForm.vue | 3 +++ 4 files changed, 6 insertions(+), 5 deletions(-) diff --git a/routers/api/v1/repo/pull.go b/routers/api/v1/repo/pull.go index a687eabfba34..11f6f7f245cd 100644 --- a/routers/api/v1/repo/pull.go +++ b/routers/api/v1/repo/pull.go @@ -768,10 +768,9 @@ func MergePullRequest(ctx *context.APIContext) { } manuallMerge := repo_model.MergeStyle(form.Do) == repo_model.MergeStyleManuallyMerged - force := form.ForceMerge != nil && *form.ForceMerge // start with merging by checking - if err := pull_service.CheckPullMergable(ctx, ctx.Doer, &ctx.Repo.Permission, pr, manuallMerge, force); err != nil { + if err := pull_service.CheckPullMergable(ctx, ctx.Doer, &ctx.Repo.Permission, pr, manuallMerge, form.ForceMerge); err != nil { if errors.Is(err, pull_service.ErrIsClosed) { ctx.NotFound() } else if errors.Is(err, pull_service.ErrUserNotAllowedToMerge) { diff --git a/routers/web/repo/pull.go b/routers/web/repo/pull.go index 387853677c11..4f705ab89f30 100644 --- a/routers/web/repo/pull.go +++ b/routers/web/repo/pull.go @@ -913,10 +913,9 @@ func MergePullRequest(ctx *context.Context) { pr.Issue = issue pr.Issue.Repo = ctx.Repo.Repository manualMerge := repo_model.MergeStyle(form.Do) == repo_model.MergeStyleManuallyMerged - forceMerge := form.ForceMerge != nil && *form.ForceMerge // start with merging by checking - if err := pull_service.CheckPullMergable(ctx, ctx.Doer, &ctx.Repo.Permission, pr, manualMerge, forceMerge); err != nil { + if err := pull_service.CheckPullMergable(ctx, ctx.Doer, &ctx.Repo.Permission, pr, manualMerge, form.ForceMerge); err != nil { switch { case errors.Is(err, pull_service.ErrIsClosed): if issue.IsPull { diff --git a/services/forms/repo_form.go b/services/forms/repo_form.go index c1e9cb3197c0..1e54e7cae376 100644 --- a/services/forms/repo_form.go +++ b/services/forms/repo_form.go @@ -597,7 +597,7 @@ type MergePullRequestForm struct { MergeMessageField string MergeCommitID string // only used for manually-merged HeadCommitID string `json:"head_commit_id,omitempty"` - ForceMerge *bool `json:"force_merge,omitempty"` + ForceMerge bool `json:"force_merge,omitempty"` MergeWhenChecksSucceed bool `json:"merge_when_checks_succeed,omitempty"` DeleteBranchAfterMerge bool `json:"delete_branch_after_merge,omitempty"` } diff --git a/web_src/js/components/PullRequestMergeForm.vue b/web_src/js/components/PullRequestMergeForm.vue index bfe05628e84a..b6a22df739ac 100644 --- a/web_src/js/components/PullRequestMergeForm.vue +++ b/web_src/js/components/PullRequestMergeForm.vue @@ -18,6 +18,7 @@ +