Reasons for moving from GitHub / Crucible to Gerrit: a large customer story

2,236 views
Skip to first unread message

Luca Milanesio

unread,
Nov 22, 2013, 3:20:07 AM11/22/13
to repo-discuss
I wanted to share a "real story" (without mentioning company names for confidentiality reasons) of a big team moving from GitHub / Crucible to Gerrit.
This can be used as reference for those companies who need to make a decision of GitHub vs. Atlassian vs. Gerrit.

Previous usage:
- GitHub for storing code and defining teams and permissions
- Crucible for code-review on the code

NOTE: they were using Crucible and NOT GitHub pull-requests because of the high combination of repositories (around 50) and developers (around 80) that would have caused an explosion of forks (50 x 80 = 4000 forks !) 

Problems:
- GitHub does not allow to block force-pushes: no big problems but the danger of a mistake (and consequent disaster) was always there
- Crucible allows only post-commit code-reviews: when you review the code *is too late* and the build / code-base is already impacted
- Commits interleaved: one feature and its commits are "interleaved" with their intermediate commits (they decided to avoid topic-branches for avoiding the explosion of Jenkins build jobs)

Gerrit adoption:
- GitHub to Gerrit as Git Server: allow FREE hosting on-site and potentially replication to other nodes on the Cloud: much faster and resilient to failures.
- Extensible: can be extended with Prolog rules and plugins for being tailored to local needs and workflow
- Pre-commit review: reviews are made *before* the code is merged and leaving the code more stable
- Clean commits: commits are "clean" and "polished" when they come to master, making cherry-picking to supported releases easier 

The drawbacks of moving to Gerrit are represented by the lack of a "cool UX" such as GitHub: this was not perceived anyway as a big problem because developers are anyway supposed to spend most of their time in their IDE and not browsing GitHub UX. People were spending at times an entire working week of development looking at Eclipse / IntelliJ and Crucible and not opening the GitHub so often.

Gerrit UX is not "as nice" as GitHub but definitely equivalent in terms of user-experience to Crucible: developers were not really shocked by the move anyway.

Feel free to share YOUR history and reasons for adopting Gerrit :-)

Luca.




Edwin Kempin

unread,
Nov 22, 2013, 3:38:36 AM11/22/13
to Luca Milanesio, repo-discuss



2013/11/22 Luca Milanesio <luca.mi...@gmail.com>
That's really interesting. Thanks for sharing this experience!
 




--
--
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.
For more options, visit https://groups.google.com/groups/opt_out.

Rosdi Kasim

unread,
Feb 7, 2014, 2:52:52 AM2/7/14
to repo-d...@googlegroups.com

I may not understand the problem... but why would high numbers of forks cause problem?

Not all 80 developers are working on all the 50 repositories right?.. Each developers are only interested in their own project... so why would that be an issue?

Our company are contemplating of adopting Gerrit as well, but there is no commercial support for Gerrit.. and configuring it to work with our existing GitHub and maintaining it is a PITA. We would rather avoid that and focus what matters, our business.

I sincerely wants to know the real motivation of moving to Gerrit.. especially if the current GitHub workflows work..

Regards.

Luca Milanesio

unread,
Feb 7, 2014, 3:20:03 AM2/7/14
to Rosdi Kasim, repo-discuss
Hi Rosdi,
we were adopting collective code ownership, this means that potentially each dev has done a change on any of the 50 repositories.
We did encourage as well rotation, that means that each 1-2 sprint people were changing the part of code where he was working on.

Then: 80 x 50 = 3000 forks ;-(

For commercial support on Gerrit (including 24x7 and SLA):

If your Team is small and you don't have many repos, GitHub is just fine ... otherwise lead to explosion of forks ;-(

HTH

Luca.

Luca Milanesio

unread,
Feb 7, 2014, 3:28:30 AM2/7/14
to Rosdi Kasim, repo-discuss
Hi Rosdi,
if you are using GitHub, have you looked at GerritHub ?

Gives you Gerrit Code Review without any maintenance or support burden:

HTH

Luca.

On 7 Feb 2014, at 07:52, Rosdi Kasim <rosdi...@gmail.com> wrote:

Reply all
Reply to author
Forward
0 new messages