Wireshark mailing list archives

Re: Gerrit Merge "<gerrit topic>" commits


From: Evan Huus <eapache () gmail com>
Date: Thu, 30 Jan 2014 07:28:59 -0500

I believe the simpler answer is that the submit type has been set to "Merge If Necessary" which means if changes are 
not submitted exactly on top of the change they were authored on, Gerrit will produce a merge automatically.

I expect this was done to reduce rebase conflict when the repo is busy (which can happen) but means that in most cases, 
we should be rebasing once before submitting to avoid extraneous merges. There should be a "Rebase" button in the UI 
right next to the submit and cherry pick buttons.

Evan

On Jan 30, 2014, at 6:25 AM, Roland Knall <rknall () gmail com> wrote:

Hi

I've noticed, that there are now quite a few merge commits in the main
wireshark repo:

https://code.wireshark.org/review/gitweb?p=wireshark.git;a=history

All of them are trivial merges, which means, that local git branches
of the developer have been merged by a "git pull" with the global git
repo, and then pushed to the main repo, bypassing gerrit in the
process.

As I have used gerrit for 2 years now in our company, I can say, that
those commits happen mostly because the workflow for pulling and
pushing changes has not been handled correctly.

In general, people tend to work on the master branch and commit on
their local master branch. If they pull a patchset for review, this
will get merged into the master branch, therefore leading to automatic
merge commits by git. With the next push, this will be pushed as
"Merge" to gerrit.

From my personal experience, we tend to keep the local master branches
clean, and allways do all our work in sub-branches. As soon as we need
to view a patchset, we can pull it with

git fetch <gerrit_repo> refs/changes/xx/xx/x && git checkout -b
review_branch FETCH_HEAD

into a new branch. This keeps the work branches clean and more
importantly the master branch clean as well.

The remote branch you push to will allways be determined by the
refs/for/* tags. Therefore keeping a lot of local branches won't
pollute the online git repo.

regards,
Roland
___________________________________________________________________________
Sent via:    Wireshark-dev mailing list <wireshark-dev () wireshark org>
Archives:    http://www.wireshark.org/lists/wireshark-dev
Unsubscribe: https://wireshark.org/mailman/options/wireshark-dev
            mailto:wireshark-dev-request () wireshark org?subject=unsubscribe
___________________________________________________________________________
Sent via:    Wireshark-dev mailing list <wireshark-dev () wireshark org>
Archives:    http://www.wireshark.org/lists/wireshark-dev
Unsubscribe: https://wireshark.org/mailman/options/wireshark-dev
             mailto:wireshark-dev-request () wireshark org?subject=unsubscribe


Current thread: