Heath Borders
Heath Borders

Reputation: 32157

Gerrit: remote rejected (you are not allowed to upload merges) even though I allowed "Push merge commit"

I've configured Gerrit to allow Push Merge Commit on my branch, but I still get the following error when I try to push a merge commit:

! [remote rejected] ANDROID-foo -> ANDROID-foo (you are not allowed to upload merges)

I'm running Gerrit 2.8-1-gaa9367b.

Upvotes: 16

Views: 32018

Answers (5)

Ikbel
Ikbel

Reputation: 2223

try to follow these steps:

enter image description here

try to apply these commands after shelving/stashing ur changes, once done, unshelve them and commit / push

Upvotes: 1

HaoJie Chen
HaoJie Chen

Reputation: 1

First I reset the pointer to the commit of remote using soft mode, then I run

git add . 
git commit --amend
git push

It works for me. :)

Upvotes: -3

Heath Borders
Heath Borders

Reputation: 32157

This is a bug in gerrit. The workaround is to create another reference named refs/for/refs/heads/<BRANCH_NAME>, and allow Push Merge Commit on it.

To be more specifically, add following lines in your project.config file

[access "refs/for/refs/*"]
  pushMerge = group <your-id-here>

Upvotes: 21

tulipe
tulipe

Reputation: 746

It worked for me by this way(after this link):

  1. git stash
  2. git pull --rebase
  3. git push
  4. git pull
  5. git stash pop

Upvotes: 7

eis
eis

Reputation: 53502

Workaround which was more suitable for me as it doesn't involve knowing branches is to allow Push Merge Commit to refs/for/refs/heads/*. You probably won't want to be doing changing these for every branch specifically.

Upvotes: 6

Related Questions