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
   link:access-control.html#category_push_review['Push'] on
   `refs/for/refs/heads/*`)
2. if you bypass code review without
   link:access-control.html#category_push_direct['Push'] privileges
   on `refs/heads/*`
3. if you push a signed or annotated tag without
   link:access-control.html#category_pTAG['Push Tag'] privileges
4. if you push a lightweight tag without the access right link:access-control.html#category_create['Create
   Reference'] for the reference name 'refs/tags/*'

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]
