diff options
author | David Svantesson <davidsvantesson@gmail.com> | 2020-01-03 18:47:10 +0100 |
---|---|---|
committer | Lauris BH <lauris@nix.lv> | 2020-01-03 19:47:09 +0200 |
commit | ea707f5a77d83d023cb02ce8e44c4b95ac83ef30 (patch) | |
tree | fdebe0cc3d2b0e41cf8c7932ae446a2e3c500bbc /routers/private/hook.go | |
parent | b39fab41c8b315ba7ddf9f9a4cc522385cf9f720 (diff) | |
download | gitea-ea707f5a77d83d023cb02ce8e44c4b95ac83ef30.tar.gz gitea-ea707f5a77d83d023cb02ce8e44c4b95ac83ef30.zip |
Add branch protection option to block merge on requested changes. (#9592)
* Add branch protection option to block merge on requested changes.
* Add migration step
* Fix check to correct negation
* Apply suggestions from code review
Language improvement.
Co-Authored-By: John Olheiser <42128690+jolheiser@users.noreply.github.com>
* Copyright year.
Co-authored-by: John Olheiser <42128690+jolheiser@users.noreply.github.com>
Co-authored-by: Lauris BH <lauris@nix.lv>
Diffstat (limited to 'routers/private/hook.go')
-rw-r--r-- | routers/private/hook.go | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/routers/private/hook.go b/routers/private/hook.go index dc5001ad4e..c1e283f357 100644 --- a/routers/private/hook.go +++ b/routers/private/hook.go @@ -113,6 +113,13 @@ func HookPreReceive(ctx *macaron.Context, opts private.HookOptions) { }) return } + if protectBranch.MergeBlockedByRejectedReview(pr) { + log.Warn("Forbidden: User %d cannot push to protected branch: %s in %-v and pr #%d has requested changes", opts.UserID, branchName, repo, pr.Index) + ctx.JSON(http.StatusForbidden, map[string]interface{}{ + "err": fmt.Sprintf("protected branch %s can not be pushed to and pr #%d has requested changes", branchName, opts.ProtectedBranchID), + }) + return + } } else if !canPush { log.Warn("Forbidden: User %d cannot push to protected branch: %s in %-v", opts.UserID, branchName, repo) ctx.JSON(http.StatusForbidden, map[string]interface{}{ |