Cannot push tags in Git

user265950 picture user265950 · May 9, 2013 · Viewed 24.2k times · Source

I am unable to push the annotated tag in my git remote repository. All the access permission have been provided in gerrit. eg. [refs/*]

I am creating the tag using the below command

git tag -a v1.0 -m 'Base Version' 712d77e

When i try to push using the below commands

git push origin v1.0 

or

git push origin --tags

I get the following error.

Counting objects: 1, done.
Writing objects: 100% (1/1), 157 bytes, done.
Total 1 (delta 0), reused 0 (delta 0)
remote: Processing changes: refs: 1, done
To ssh://...
! [remote rejected] v1.0 -> v1.0 (prohibited by Gerrit)
error: failed to push some refs to 'ssh://...'

Please let me know how I should be able to push tags in repository.

Thanks....

Answer

ahmad molaie picture ahmad molaie · Nov 18, 2013

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 Push on refs/for/refs/heads/*)

  2. if you bypass code review without Push access right on refs/heads/*

  3. if you push an annotated tag without Push Annotated Tag access right on refs/tags/*

  4. if you push a signed tag without Push Signed Tag access right on refs/tags/*

  5. if you push a lightweight tag without the access right Create Reference for the reference name refs/tags/*

  6. if you push a tag with somebody else as tagger and you don’t have the Forge Committer access right for the reference name refs/tags/*

  7. if you push to a project that is in state Read Only

For new users it often happens 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).

copied from prohibited by Gerrit

More description: I have same problem with new installation of gerrit 2.7, searched and found this stackoverflow question, but my case was number 5 of this description(light weight tags), so i added Create Reference permission for refs/tags/*, and problem solved.