[haiku-development] Re: Gerrit

  • From: Adrien Destugues <pulkomandy@xxxxxxxxxxxxx>
  • To: haiku-development@xxxxxxxxxxxxx
  • Date: Tue, 14 Aug 2018 08:30:56 +0200

On Tue, Aug 14, 2018 at 12:13:11AM +0200, Fredrik Holmqvist wrote:

- Focus on reviewing commits one by one, where Github encourages reviewing
the whole changes for the pull request at once (the commit history suffers
from this)

This is also in the UI, you can select a commit, commits since your last
review or all.

I know, and this is why I said "focus on" and "encourages". Not "allows"
and "forces" respectively.

GitHub has a lot of other things to offer like ready plugins for most
things, and it is improving all the time.
Like:
* Coverity plugin for integrating Coverity into pull requests
* Checks for pull requests, that can add inline comments for whitespace and
other violations, static analysis, formatting

This is of course possible with Gerrit as well. Except we didn't have a
tool to check for Haiku style until Owen's recent work. I plan to look
into plugging this to Gerrit.

  Many are already built plugins.
* GitHub app integrations are easy to build
* Low maintenance, so devs can focus on development

From our experience at haikuports, we have a hook there to send
notifications on all commits to a mailing list. The hook is being
deprecated.

Github is low maintenance for the basic things, but it has the downside
of any 3rd party service: we have to deal with their changes and API
deprecations without ability to plan things on our side. If you build a
complex pipeline wiht CI, automated code review, etc, I'm not sure it
stays low maintenance.

* Pull requests can either be accepted by merge commit, squash or rebase

We want only rebases in Haiku. So that's a con for me :o)

* Integrations with TravisCI, CircleCI and others are done in minutes
* You do pull requests from a branch in your tree with a usable UI, not
this special git push xxxx/somebranch yyy/refs/for/master

You can use the "review" tool for Gerrit if you don't want to deal with
the git command directly.


I think GitHub improved and overtook Gerritt a long time ago. I tried to
work with Gerritt, but it is definitely not my cup of tea.

I don't like the Github flow much, Gerrit is more natural to the way I
work with Git. Again a matter of personal opinions and the way one wants
to do things.

So if there is any benefit still left of maintaining and running this
ourselves I don't see it.
The fact that we still don't have it working properly with notifications is
not a good sign.

I did not even start trying to configure them. Give us some time to set
up the tools :)


(Also I'm not a fan of hrevs either..)

I had forgotten about this, but in the current state they pretty much
rule out using Github, right? So we would need to find a replacement for
them if we ever want to consider a switch.

We can use git rev-count to compute the distance from some reference
point in the past to a commit, but I don't know if we have some way to
do the reverse (find a commit given a starting point and a rev-count).

-- 
Adrien.

Other related posts: