# One or more refs/for/ names blocks change upload

version v2.11.4-13-gcb9800e

With this error message Gerrit rejects to push a commit for code review if the remote git repository has a branch under the 'refs/for/' namespace.

Gerrit uses the 'refs/for/' namespace for magical refs that represent the review queues for branches in the git repository hosted by Gerrit. If, for a project, a real branch is created under the 'refs/for' namespace this conflicts with the namespace reserved for the Gerrit review queues and Gerrit can’t accept further pushes for code review.

To solve this problem all real branches that exist under the 'refs/for/' namespace have to be deleted or renamed in the remote git repository.

To see which branches exist under the 'refs/for/' namespace a Gerrit administrator can run the following command:

      $ git for-each-ref refs/for

If all these branches should be deleted it can be done with the following command:

      $ for n in $(git for-each-ref --format='%(refname)' refs/for);
        do git update-ref -d $n; done

Branches under the 'refs/for/' namespace can be created by users that bypass Gerrit and push directly to the git repository itself (not using the Gerrit server’s SSH port).

Part of Gerrit Error Messages