Gerrit (software)
Original author(s) | |
---|---|
Stable release |
2.14.2
/ July 18, 2017 |
Repository |
gerrit |
Written in | Java, Servlet, GWT, Polymer |
Operating system | Java Platform, Enterprise Edition |
Available in | English |
Type | Code review |
License | Apache License v2 |
Website |
www |
Gerrit is a free, web-based team code collaboration tool. Software developers in a team can review each other's modifications on their source code using a Web browser and approve or reject those changes. It integrates closely with Git, a distributed version control system.
Gerrit is a fork of Rietveld, another code review tool. Its namesake is Dutch designer Gerrit Rietveld.[1]
History
Google Mondrian
Google developed Mondrian, a Perforce based code review tool to facilitate peer-review of changes prior to submission to the central code repository. Mondrian is not open source, as it is tied to the use of Perforce and to many Google-only services, such as Bigtable. Google employees have often described how useful Mondrian and its peer-review process is to their day-to-day work.
Rietveld
Guido van Rossum open sourced portions of Mondrian within Rietveld, a similar code review tool running on Google App Engine, but for use with Subversion rather than Perforce. Rietveld is in common use by many open source projects, facilitating their peer reviews much as Mondrian does for Google employees. Unlike Mondrian and the Google Perforce triggers, Rietveld is strictly advisory and does not enforce peer-review prior to submission.
Gitosis and Gitolite
Git is a distributed version control system, wherein each repository is assumed to be owned/maintained by a single user. There are no inherent security controls built into Git, so the ability to read from or write to a repository is controlled entirely by the host's filesystem access controls. When multiple maintainers collaborate on a single shared repository a high degree of trust is required, as any collaborator with write access can alter the repository.
Gitosis and Gitolite provide tools to secure centralized Git repositories, permitting multiple maintainers to manage the same project at once, by restricting the access to only over a secure network protocol, much like Perforce secures a repository by only permitting access over its network port.
Android
The Android Open Source Project (AOSP) was founded by Google by the open source releasing of the Android operating system. AOSP has selected Git as its primary version control tool. As many of the engineers have a background of working with Mondrian at Google, there is a strong desire to have the same (or better) feature set available for Git and AOSP.
The Rietveld fork
Gerrit Code Review started as a simple set of patches to Rietveld, and was originally built to service AOSP. This quickly turned into a fork as access control features were added that Guido van Rossum did not want to see complicating the Rietveld code base. As the functionality and code were starting to become drastically different, a different name was needed. Gerrit calls back to the original namesake of Rietveld, Gerrit Rietveld, a Dutch architect.
Gerrit 2.x rewrite
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.
Design
Originally written in Python like Rietveld, it is now written in Java (Java EE Servlet) with SQL since version 2. Gerrit uses Google Web Toolkit to generate front-end JavaScript code from Java source.[2]
Notable users
- Android[3]
- Chrome OS[4]
- CollabNet[5]
- CyanogenMod and its successor, LineageOS[6][7]
- eBay[8]
- Eclipse Foundation[9]
- Garmin[10]
- gem5[11]
- Gilt Groupe[12]
- Go (programming language)[13]
- GWT[14]
- Kitware (e.g. CMake)[15]
- LibreOffice[16][17]
- MediaWiki[18][19]
- OpenStack[20][21]
- OpenSwitch[22]
- Qt[23]
- SAP SE[24]
- Scilab[25]
- Tizen[26]
- TYPO3[27][28]
- TubeMogul[29][30]
- Vaadin[31]
See also
References
- ↑ "An Open Source App: Rietveld Code Review Tool". Archived from the original on 17 October 2015.
- ↑ "Gerrit: Google-style code review meets git". LWN. Retrieved 13 Jul 2012.
- ↑ "People and Roles".
- ↑ "Chromium OS Developer Guide".
- ↑ "Gerrit Code Reviews".
- ↑ "Community powered|CyanogenMod".
- ↑ "Update and Build Prep | Lineage OS Android Distribution".
- ↑ "Too Smart for Git". Archived from the original on 2011-06-07.
- ↑ "Gerrit on eclipsepedia". Eclipse foundation. Retrieved 2013-06-01.
- ↑ "Using Gerrit Code Review in an Open Source Project".
- ↑ "The gem5 Simulator".
- ↑ "Managers Become the Flywheel".
- ↑ "We're moving to GitHub".
- ↑ "Google Web Toolkit Blog". Retrieved 2013-07-13.
- ↑ "Introducing Gerrit - Code Review and Community Contributions".
- ↑ "Gerrit for LibreOffice". 2012-06-16. Retrieved 2012-06-24.
- ↑ "gerrit.libreoffice Code Review". Retrieved 2012-06-24.
- ↑ "Wikimedia engineering moving from Subversion to Git — Wikimedia blog". Blog.wikimedia.org. 2012-02-15. Retrieved 2012-06-21.
- ↑ "Gerrit". MediaWiki. 2012-06-12. Retrieved 2012-06-21.
- ↑ "Gerrit Workflow". OpenStack Wiki. Retrieved 2013-02-21.
- ↑ "Workflow with Github and Gerrit". 2015-06-05.
- ↑ "OpenSwitch Gerrit Integration". OpenSwitch Wiki. Retrieved 2015-12-09.
- ↑ "Gerrit Introduction". Qt Project. 2012-04-24. Retrieved 2015-07-23.
- ↑ "Gerrit at SAP". 2014-03-11.
- ↑ "Gerrit Code Review". Codereview.scilab.org. Retrieved 2012-06-21.
- ↑ "Gerrit - Tizen Developers".
- ↑ "TYPO3 Core repository migrated to Git". 2011-03-11. Retrieved 2013-01-26.
- ↑ "TYPO3's Gerrit Code Review". Retrieved 2013-01-26.
- ↑ "Improving Operations Efficiency with Puppet". 2015-04-17.
- ↑ "Puppet Camp Paris: Improving Operations Efficiency With Puppet". shell-tips.com. 2015-04-20.
- ↑ "Gerrit at Vaadin". 2015-07-21.
External links
Wikibooks has a book on the topic of: Git/Gerrit Code Review |
MediaWiki has documentation related to: Gerrit |
- Official website
- Video demo of Gerrit
- Effective Development With Eclipse Mylyn, Git, Gerrit and Hudson