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