diff options
author | Jimmy Praet <jimmy.praet@telenet.be> | 2022-03-04 09:30:49 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-03-04 03:30:49 -0500 |
commit | 5184c83f6b702aeec3ea85263e16ccf5ebe89836 (patch) | |
tree | d5a5f04630815a7342c6e26409faeac75620573b /services | |
parent | 3c7201682cde10ed551476e13e9e1bfdd971e0c0 (diff) | |
download | gitea-5184c83f6b702aeec3ea85263e16ccf5ebe89836.tar.gz gitea-5184c83f6b702aeec3ea85263e16ccf5ebe89836.zip |
Add config option to disable "Update branch by rebase" (#18745)
Diffstat (limited to 'services')
-rw-r--r-- | services/forms/repo_form.go | 1 | ||||
-rw-r--r-- | services/pull/update.go | 8 |
2 files changed, 8 insertions, 1 deletions
diff --git a/services/forms/repo_form.go b/services/forms/repo_form.go index da709ef800..3760c71f2a 100644 --- a/services/forms/repo_form.go +++ b/services/forms/repo_form.go @@ -151,6 +151,7 @@ type RepoSettingForm struct { PullsAllowManualMerge bool PullsDefaultMergeStyle string EnableAutodetectManualMerge bool + PullsAllowRebaseUpdate bool DefaultDeleteBranchAfterMerge bool EnableTimetracker bool AllowOnlyContributorsToTrackTime bool diff --git a/services/pull/update.go b/services/pull/update.go index f32dfad2ca..2ad58ecd29 100644 --- a/services/pull/update.go +++ b/services/pull/update.go @@ -10,6 +10,7 @@ import ( "code.gitea.io/gitea/models" repo_model "code.gitea.io/gitea/models/repo" + "code.gitea.io/gitea/models/unit" user_model "code.gitea.io/gitea/models/user" "code.gitea.io/gitea/modules/git" "code.gitea.io/gitea/modules/log" @@ -97,7 +98,12 @@ func IsUserAllowedToUpdate(pull *models.PullRequest, user *user_model.User) (mer // can't do rebase on protected branch because need force push if pr.ProtectedBranch == nil { - rebaseAllowed = true + prUnit, err := pr.BaseRepo.GetUnit(unit.TypePullRequests) + if err != nil { + log.Error("pr.BaseRepo.GetUnit(unit.TypePullRequests): %v", err) + return false, false, err + } + rebaseAllowed = prUnit.PullRequestsConfig().AllowRebaseUpdate } // Update function need push permission |