From 40e2f82757677dc5c0c48abc864cfb01a2dbf12d 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 7005725cf6642..39f8a13731d92 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 c7a59da8a8b15..deb7bed14bfb2 100644 --- a/routers/web/repo/pull.go +++ b/routers/web/repo/pull.go @@ -927,10 +927,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 ff0916f8e195c..7b52dd145a5c8 100644 --- a/services/forms/repo_form.go +++ b/services/forms/repo_form.go @@ -603,7 +603,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 2e10ce2531f06..c46f353fd5cf9 100644 --- a/web_src/js/components/PullRequestMergeForm.vue +++ b/web_src/js/components/PullRequestMergeForm.vue @@ -18,6 +18,7 @@ +