Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to merge the Gerrit branch to another Gerrit branch

Tags:

git

gerrit

I'm using Gerrit version 2.4.2. I have a branch master and I created a new branch, called newbranch. Then I pushed some changes to the remote (Gerrit's) newbranch. After verifying in Gerrit, I merged the changes to newbranch.

No, I want to merge the newbranch to master, send updates master (merged with changes from newbranch), and delete the newbranch branch.

I tried do this:

git fetch git checkout master git merge newbranch git push origin master:refs/for/master 

But Gerrit gives back this message:

 ! [remote rejected] master -> refs/for/master (no new changes) 

What should I do?

like image 664
Alan Shen Avatar asked Oct 11 '12 13:10

Alan Shen


People also ask

How do I merge branches from one branch to another in GitHub?

Merging another branch into your project branchIn GitHub Desktop, click Current Branch. Click Choose a branch to merge into BRANCH. Click the branch you want to merge into the current branch, then click Merge BRANCH into BRANCH.


1 Answers

This situation has been reported as a bug in Gerrit. Here's a solution/workaround from Gerrit's issue tracker:

To the best of my knowledge, you have 2 options currently -

  1. Force push to refs/heads. It is just a fast-forward, so in theory everything has already been reviewed and verified. There is no point in doing so again, so just skip that process and push to refs/heads rather than refs/for.

  2. Go ahead and create a merge commit. Use 'git merge --no-ff' - this will create a merge commit even though it isn't necessary in your fast-forward situation. Then the merge commit can be uploaded, reviewed, verified, and merged like normal.

My company tends to go with option 2. I'll close this as wontfix, but if you have any suggestions on how to do this better please let us know.

like image 192
Michael Sims Avatar answered Oct 08 '22 02:10

Michael Sims