prohibited by Gerrit
====================

This is a general error message that is returned by Gerrit if a push
is not allowed, e.g. because the pushing user has no sufficient
privileges.

In particular this error occurs:
1. if you push a commit for code review to a branch for which you
   don't have upload permissions (access right '+2 Upload permission'
   in the link:access-control.html#category_READ['Read Access'] category)
2. if you bypass code review without sufficient privileges in the
   link:access-control.html#category_pHD['Push Branch'] category
3. if you push a signed or annotated tag without sufficient
   privileges in the link:access-control.html#category_pTAG['Push Tag'] category
4. if you push a lightweight tag without the access right '+2 Create
   Branch' for the reference name 'refs/tags/*' in the link:access-control.html#category_pHD['Push Branch']
   category

For new users it happens often that they accidentally try to bypass
code review. The push then fails with the error message 'prohibited
by Gerrit' because the project didn't allow to bypass code review.
Bypassing the code review is done by pushing directly to refs/heads/*
(e.g. refs/heads/master) instead of pushing to refs/for/* (e.g.
refs/for/master). Details about how to push commits for code review
are explained link:user-upload.html#push_create[here].


GERRIT
------
Part of link:error-messages.html[Gerrit Error Messages]
