My opinion is that Gerrit is vastly superior to the GitHub PR system.
Having Gerrit is great for the experienced Eclipse developer and for
best quality reviews. Having GitHub PRs are much more familiar to
non-Eclipse developer, and therefore a casual contributor to Nebula
will find the barriers slightly lower.
To expand on the problems with GitHub PRs:
- IP checking not as smooth (gerrit prevent the push, while PR is
failed after submission) This requires either a force push on to the
PR branch or a new PR branch to be created. This affects contributors
in their early days who forget to Sign-Off the commits before creating
PRs. While GitHub should be simpler for such contributors, this seems
to require nearly all first time contributors to use --force or
--amend to cleanup.
- IP checking cannot deal with cherry-picks and bringing branch up to
date in the GitHub UI. If you do either of these you will have to do a
force push or close the PR and create a new one with a clean branch.
- branch and merge constantly with PRs, you end up with history that
is continuously little merges of PRs.
- Updates to PRs are new commits, meaning that you don't have a clean
commit going into the repo. This makes things like bisecting extra
hard as the repo is filled with commits that are partial/work in
progress. It also means that lots of commit messages are "Fix review
comments" or "Fix SONAR warnings"
(The above two things can be dealt with somewhat by Squash and Merge,
relatively new in GitHub world. However this presents its own hurdles
in getting Authors/Committers and commit messages correct. It should
be possible to get all those things right and reviewed before the
submission is made, not as part of the submission.)
- dealing with multiple remotes + having to come up with names for PR
branches you create - vs Gerrit in eGit which is simply a Commit and
Push
- collaborating on a PR is harder. For example, sometimes a patch is
submitted that requires just a small change, with Gerrit I can supply
a new patchset, but on GitHub I need to jump through hoops (either
accept bad PR then fix it up, or create new PR unconnected to original
submission, in practice that means I won't do such small changes)
- GitHub does not deal well at all with Force Pushes or submitter
deleting their branches. With Gerrit once code is submitted, it is
"owned" by the project, the submitter cannot change their past
submissions, but only create new ones. With GitHub doing a force push
on a PR branch means the older version of the code is gone and
depending on which lines of code comments are submitted on, they can
be removed too. Likewise deleting a PR branch has the same problem.
I do like many aspects of GitHub Issues compared to Bugzilla.
Therefore, my vote for GitHub is conditional:
+1 if and only if there is a real drive to get new contributors to
Nebula who are not familiar with gerrit
Otherwise I say -1
PS To complicate matters, we could pioneer and look into
http://gerrithub.io/, I have not looked much at it, but having proper
gerrit reviews for GitHub makes sense to me. Is it possible for
existing Eclipse Gerrit server to be used with GitHub?
Jonah
~~~
Jonah Graham
Kichwa Coders Ltd.
www.kichwacoders.com
Post by Dirk FauthWell, I am used to the Gerrit workflow and like the review system. The pull
request workflow is different and I struggled with it for a while coming
from Gerrit. I personally think the Gerrit workflow is more straight
forward.
But after working with pull requests for a while you will notice that this
is also fine. It is just different. But the review system in GitHub is not
as comfortable as in Gerrit.
From my understanding the main discussion is Bugzilla vs. GitHub issues. But
in that part I don't have strong feelings. I just like Gerrit more than
GitHub pull requests.
On Sun, Jun 25, 2017 at 2:20 PM, Wim Jongman
Post by Wim JongmanHi Dirk,
Can you elaborate on that?
Cheers,
Wim
Sent: zaterdag 24 juni 2017 19:21
To: Nebula Dev
Subject: Re: [nebula-dev] Who wants to move to GitHub?
I personally like Gerrit more than Pull Requests. But I can live with both.
I prefer GitHub issues and pull reqs
- Hallvard
Hi All,
Who wants to trade "Eclipse Git > Clone > Gerrit changes" with "GitHub >
Fork > Pull Requests"
Best regards,
Wim
_______________________________________________
nebula-dev mailing list
To change your delivery options, retrieve your password, or unsubscribe
from this list, visit
https://dev.eclipse.org/mailman/listinfo/nebula-dev
_______________________________________________
nebula-dev mailing list
To change your delivery options, retrieve your password, or unsubscribe
from this list, visit
https://dev.eclipse.org/mailman/listinfo/nebula-dev
_______________________________________________
nebula-dev mailing list
To change your delivery options, retrieve your password, or unsubscribe from
this list, visit
https://dev.eclipse.org/mailman/listinfo/nebula-dev