'Developer' can push to a protected branch over HTTP
Created by: gorefi
Over SSH a user ('developer') with 'Developer' role in a project is denied pushing to a protected branch ('OngoingDev'), as expected. However, over HTTP it is possible.
Please see sequence of commands below:
$ git remote show origin
- remote origin Fetch URL: git@ec2-XX-XXX-XX-XX.us-west-2.compute.amazonaws.com:root/eXXX2.git Push URL: git@ec2-XX-XXX-XX-XX.us-west-2.compute.amazonaws.com:root/eXXX2.git
$ git push Counting objects: 5, done. Compressing objects: 100% (2/2), done. Writing objects: 100% (3/3), 286 bytes, done. Total 3 (delta 0), reused 0 (delta 0) remote: FATAL: W refs/heads/OngoingDev root/exxx2 developer_local_host_1357780035 DENIED by refs/heads/OngoingDev$ remote: error: hook declined to update refs/heads/OngoingDev To git@ec2-XX-XXX-XX-XX.us-west-2.compute.amazonaws.com:root/eXXX2.git ! [remote rejected] OngoingDev -> OngoingDev (hook declined) error: failed to push some refs to 'git@ec2-XX-XXX-XX-XX.us-west-2.compute.amazonaws.com:root/eXXX2.git'
$ git remote rm origin $ git remote add origin http://developer:developer@ec2-XX-XXX-XX-XX.us-west-2.compute.amazonaws.com/root/eXXX2.git
$ git push Counting objects: 5, done. Compressing objects: 100% (2/2), done. Writing objects: 100% (3/3), 286 bytes, done. Total 3 (delta 0), reused 0 (delta 0) To http://developer:developer@ec2-XX-XXX-XX-XX.us-west-2.compute.amazonaws.com/root/eXXX2.git ec869b0..fee0e17 OngoingDev -> OngoingDev
... and the changes are in.