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

StackOverflow https://stackoverflow.com/questions/21199817

  •  29-09-2022
  •  | 
  •  

Question

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.

Was it helpful?

Solution

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>

OTHER TIPS

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.

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

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. :)

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top