Huge thanks to our Platinum Members Endace and LiveAction,
and our Silver Member Veeam, for supporting the Wireshark Foundation and project.

Wireshark-dev: [Wireshark-dev] Gerrit Merge "<gerrit topic>" commits

From: Roland Knall <rknall@xxxxxxxxx>
Date: Thu, 30 Jan 2014 12:25:27 +0100
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