Can we really Gerrit?

265 views
Skip to first unread message

Nicolas Couture

unread,
Jun 29, 2022, 7:09:19 PM6/29/22
to Repo and Gerrit Discussion
Howdy,

I'm a big fan of the Gerrit project and its toolchain and am investing a little bit of time today to read some of its code, and also get some services up and running to test run them.

However I don't feel like I grasp the big advantag of using Gerrit, I'm worried people may not adapt well to use a new tool and after trying to compare its features to Github's I'm a bit in a dead end so I'd like to ask; what are the best things Gerrit has to offer today that Github does not, or does not do nearly as well?

As I compared the two tools, here are the points I've highlighted...

# [START about-gerrit-and-github]

About Gerrit

Gerrit is a code review tool that was originally developed by Google.

It is based on the Perforce code review tool Mondrian.

Gerrit is open source, and it is used by many open-source projects.

It is similar to Rietveld, but it is not tied to the use of Perforce or to any Google-only services.

Gerrit 2.x is a complete rewrite of the Gerrit fork, changing the implementation from Python on Google App Engine, to Java on a J2EE servlet container and a SQL database.

Gerrit 3.x is the most recent version, and it uses NoteDb instead of a SQL database.

About Github

GitHub is a website where people can share code.

People can collaborate on code by suggesting changes, called “pull requests.”.

Pull requests show the differences between the code in the original repository and the code in the person’s branch.

Other people can review the changes, leave comments, and approve or request changes before the code is merged.

Code can be reviewed and discussed in dedicated spaces called “discussions.”

Notifications can be customized to show updates on the GitHub activity a person has subscribed to.

GitHub also has a feature called “Codespaces” which are high performance virtual machines that start in seconds, and a feature called “Copilot” which suggests whole lines or entire functions right inside the editor.

# [END about-gerrit-and-github]

Thank you so much.

-Nicolas from Montreal, Canada

Luca Milanesio

unread,
Jun 29, 2022, 8:35:43 PM6/29/22
to Repo and Gerrit Discussion, Luca Milanesio, Nicolas Couture

On 26 Jun 2022, at 18:19, Nicolas Couture <nicolas...@invue.com> wrote:

Howdy,

I'm a big fan of the Gerrit project and its toolchain and am investing a little bit of time today to read some of its code, and also get some services up and running to test run them.

However I don't feel like I grasp the big advantag of using Gerrit, I'm worried people may not adapt well to use a new tool and after trying to compare its features to Github's I'm a bit in a dead end so I'd like to ask; what are the best things Gerrit has to offer today that Github does not, or does not do nearly as well?

I believe you are comparing apples with pears :-)

I wrote 9 years ago a blogpost [1] about this topic: despite its age, many aspects are still current.

Since then, GitHub has become more an integrated toolchain that contains everything:
- Editor and WebIde
- Code browser
- AI assistant (the co-pilot)
- Artifact repository
- CI/CD pipeline (GitHub actions)
- Portal (GitHub pages)
- Issue tracker
- Dependency inspector
- Project kanban
… and more

The code-review part of GitHub is the one you could compare with Gerrit, but everything else is just different and not comparable.

HTH

Luca.



As I compared the two tools, here are the points I've highlighted...

# [START about-gerrit-and-github]

About Gerrit

Gerrit is a code review tool that was originally developed by Google.

It is based on the Perforce code review tool Mondrian.

Gerrit is open source, and it is used by many open-source projects.

It is similar to Rietveld, but it is not tied to the use of Perforce or to any Google-only services.

Gerrit 2.x is a complete rewrite of the Gerrit fork, changing the implementation from Python on Google App Engine, to Java on a J2EE servlet container and a SQL database.

Gerrit 3.x is the most recent version, and it uses NoteDb instead of a SQL database.

About Github

GitHub is a website where people can share code.

People can collaborate on code by suggesting changes, called “pull requests.”.

Pull requests show the differences between the code in the original repository and the code in the person’s branch.

Other people can review the changes, leave comments, and approve or request changes before the code is merged.

Code can be reviewed and discussed in dedicated spaces called “discussions.”

Notifications can be customized to show updates on the GitHub activity a person has subscribed to.

GitHub also has a feature called “Codespaces” which are high performance virtual machines that start in seconds, and a feature called “Copilot” which suggests whole lines or entire functions right inside the editor.

# [END about-gerrit-and-github]

Thank you so much.

-Nicolas from Montreal, Canada


--
--
To unsubscribe, email repo-discuss...@googlegroups.com
More info at http://groups.google.com/group/repo-discuss?hl=en

---
You received this message because you are subscribed to the Google Groups "Repo and Gerrit Discussion" group.
To unsubscribe from this group and stop receiving emails from it, send an email to repo-discuss...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/repo-discuss/900a9a5b-2ce7-48dd-a252-129927afbd18n%40googlegroups.com.

Edwin Kempin

unread,
Jun 30, 2022, 2:13:17 AM6/30/22
to Luca Milanesio, Repo and Gerrit Discussion, Nicolas Couture
On Thu, Jun 30, 2022 at 2:35 AM Luca Milanesio <luca.mi...@gmail.com> wrote:


On 26 Jun 2022, at 18:19, Nicolas Couture <nicolas...@invue.com> wrote:

Howdy,

I'm a big fan of the Gerrit project and its toolchain and am investing a little bit of time today to read some of its code, and also get some services up and running to test run them.

However I don't feel like I grasp the big advantag of using Gerrit, I'm worried people may not adapt well to use a new tool and after trying to compare its features to Github's I'm a bit in a dead end so I'd like to ask; what are the best things Gerrit has to offer today that Github does not, or does not do nearly as well?

I believe you are comparing apples with pears :-)

I wrote 9 years ago a blogpost [1] about this topic: despite its age, many aspects are still current.

Since then, GitHub has become more an integrated toolchain that contains everything:
- Editor and WebIde
- Code browser
- AI assistant (the co-pilot)
- Artifact repository
- CI/CD pipeline (GitHub actions)
- Portal (GitHub pages)
- Issue tracker
- Dependency inspector
- Project kanban
… and more

The code-review part of GitHub is the one you could compare with Gerrit, but everything else is just different and not comparable.

Regarding code-review the major difference is that in GitHub the code review is done on pull requests, which show you the sum of modifications that have been done in a forked branch, while in Gerrit code review is done for each commit separately.

There are pros and cons for both approaches. If you are interested in potential issues with pull requests I can recommend reading this post [1]. It only briefly mentions Gerrit, but I think it makes clear how the approach in Gerrit is different.

 

David Ostrovsky

unread,
Jun 30, 2022, 2:37:04 AM6/30/22
to Repo and Gerrit Discussion
Edwin Kempin schrieb am Donnerstag, 30. Juni 2022 um 08:13:17 UTC+2:
On Thu, Jun 30, 2022 at 2:35 AM Luca Milanesio <luca.mi...@gmail.com> wrote:


On 26 Jun 2022, at 18:19, Nicolas Couture <nicolas...@invue.com> wrote:

Howdy,

I'm a big fan of the Gerrit project and its toolchain and am investing a little bit of time today to read some of its code, and also get some services up and running to test run them.

However I don't feel like I grasp the big advantag of using Gerrit, I'm worried people may not adapt well to use a new tool and after trying to compare its features to Github's I'm a bit in a dead end so I'd like to ask; what are the best things Gerrit has to offer today that Github does not, or does not do nearly as well?

I believe you are comparing apples with pears :-)

I wrote 9 years ago a blogpost [1] about this topic: despite its age, many aspects are still current.

Since then, GitHub has become more an integrated toolchain that contains everything:
- Editor and WebIde
- Code browser
- AI assistant (the co-pilot)
- Artifact repository
- CI/CD pipeline (GitHub actions)
- Portal (GitHub pages)
- Issue tracker
- Dependency inspector
- Project kanban
… and more

The code-review part of GitHub is the one you could compare with Gerrit, but everything else is just different and not comparable.

Regarding code-review the major difference is that in GitHub the code review is done on pull requests, which show you the sum of modifications that have been done in a forked branch, while in Gerrit code review is done for each commit separately.

There are pros and cons for both approaches.

It is worth noting that there were efforts in the community to add Pull Requests
workflow to Gerrit. Particularly there is this prototype change for branch-based
changes. And I still think that it could be added in one or another form to Gerrit.

Thomas Dräbing

unread,
Jun 30, 2022, 3:04:43 AM6/30/22
to David Ostrovsky, Repo and Gerrit Discussion
Gerrit is extensible with plugins and since it is open source, required features or adaptations can be added by the community or an individual company using Gerrit. This is not possible with GitHub (Enterprise). I think this is a big advantage.

In our experience Gerrit is also better able to handle large mono repos compared to GitHub Enterprise.
Reply all
Reply to author
Forward
0 new messages