diff options
author | Robert Speicher <robert@gitlab.com> | 2016-03-18 01:21:07 +0000 |
---|---|---|
committer | Robert Speicher <robert@gitlab.com> | 2016-03-18 01:21:07 +0000 |
commit | 4c517ce6dc6cecd885d7db473d6ad3905a2f761c (patch) | |
tree | 238639eeabe6e20ae59232bbb6c399ea6ba5f2ce /app | |
parent | abaf7ed2e58121cc44b39a779d02fd7da4541028 (diff) | |
parent | cfb10c103f1298b7c4ec94c76f66445a5969d13f (diff) | |
download | gitlab-ce-4c517ce6dc6cecd885d7db473d6ad3905a2f761c.tar.gz |
Merge branch 'issue_14374' into 'master'
Check push permissions only when pushing directly to target branch.
Fixes #14374
See merge request !3280
Diffstat (limited to 'app')
-rw-r--r-- | app/services/commits/revert_service.rb | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/app/services/commits/revert_service.rb b/app/services/commits/revert_service.rb index 9cb918d7a2e..a3c950ede1f 100644 --- a/app/services/commits/revert_service.rb +++ b/app/services/commits/revert_service.rb @@ -9,7 +9,8 @@ module Commits @commit = params[:commit] @create_merge_request = params[:create_merge_request].present? - validate and commit + check_push_permissions unless @create_merge_request + commit rescue Repository::CommitError, Gitlab::Git::Repository::InvalidBlobName, GitHooksService::PreReceiveError, ValidationError, ReversionError => ex error(ex.message) @@ -45,11 +46,11 @@ module Commits end end - def validate + def check_push_permissions allowed = ::Gitlab::GitAccess.new(current_user, project).can_push_to_branch?(@target_branch) unless allowed - raise_error('You are not allowed to push into this branch') + raise ValidationError.new('You are not allowed to push into this branch') end true |