Gerrit (Software)
Gerrit ist ein kollaboratives Review-System für Git. Mit Gerrit lassen sich Änderungen an einer Software diskutieren und schließlich in diese integrieren.
Gerrit | |
---|---|
Weboberfläche von Gerrit 2.2.1 auf Chromium (Browser)/OS X | |
Basisdaten | |
Entwickler | Google Inc. |
Aktuelle Version | 3.2.3[1] (28. Juli 2020) |
Betriebssystem | Java EE |
Programmiersprache | Java, Servlet, GWT |
Kategorie | Code-Review |
Lizenz | Apache 2.0[2] |
deutschsprachig | nein |
www.gerritcodereview.com |
Das Open-Source-Projekt Gerrit eröffnet die Möglichkeit, alle Änderungen von einem oder mehreren Benutzern bestätigen zu lassen, bevor sie in den offiziellen Quellcode integriert werden. Dabei kann auch ein automatischer Build-Prozess, wie ihn etwa Jenkins/Hudson zur Verfügung stellt,[3] als Unterstützung verwendet werden.
Geschichte
Die Entwicklung von Gerrit begann, als ein System zur Quellcodeverwaltung für die Entwicklung des Betriebssystems Android gesucht wurde. Da an der Entwicklung von Android zahlreiche Google-Entwickler beteiligt waren, sollte dieses System einen ähnlichen Umfang wie das zuvor von Google verwendete Review-System Mondrian haben. Dazu wurde zunächst die Software Rietveld eingesetzt. Als sich zeigte, dass die Entwicklung dieser Software nicht schnell genug voranging, wurde Rietveld geforkt; es entstand Gerrit 1.0. Der Name Gerrit soll an den niederländischen Architekten Gerrit Rietveld erinnern.[4]
Für Gerrit 2.0 wurde der gesamte Code des Forks neu geschrieben. Während Gerrit ursprünglich in Python programmiert war, ist es ab Version 2 in Java EE (Java Platform, Enterprise Edition, Java Servlet mit SQL) verfasst.[5]
Workflow
Das Review-System Gerrit wird zusammen mit einem Git-Repository verwendet.
Das Git-Repository enthält den Quellcode einer Software. Änderungen, die an diesem Quellcode vorgenommen werden sollen, könnten durch Benutzer mit den entsprechenden Rechten grundsätzlich mit dem Git-Befehl git push
direkt in das Repository geschrieben werden.
Stattdessen kann jedoch auch eine Gerrit-Installation in der Form vorgeschaltet werden, dass die gewünschten Änderungen nicht direkt an das Repository gesendet werden können, sondern stattdessen an die Gerrit-Installation geschickt werden müssen. Gerrit bietet eine Webschnittstelle, in der die Änderungen diskutiert und verbesserte Versionen der Änderungen hochgeladen werden können. Es ist möglich, Änderungen als Diff-Ansicht zu vergleichen. Reviewer können ihre Kommentare an spezifische Zeilen anfügen und so auf einfache Weise den direkten Bezug zu einer bestimmten Codezeile herstellen. Über jeden Änderungssatz (Patch-Set genannt) kann abgestimmt werden. Nachdem ein Patch-Set die benötigten Stimmen erhalten hat, können Benutzer, die über die notwendigen Rechte verfügen, die Änderungen über die Webschnittstelle in das Repository schreiben.[6]
Verwendung
Die folgende Liste enthält beispielhaft einige bekannte Unternehmen und Projekte, die Gerrit verwenden oder verwendet haben:
- Android,[7] Qualcomm Innovation Center, MeeGo, Sony Ericsson
- Assembla[8]
- Intel, Red Hat, SAP
- Couchbase, WebM, TYPO3[9]
- CyanogenMod / LineageOS[10]
- Pixel Experience ROM
- Eclipse Software Foundation[11] (z. B. für das EGit/JGIT-Projekt)
- GerritForge[12]
- GWT[13]
- Kitware (z. B. CMake)[14][15]
- LibreOffice[16][17]
- MediaWiki[18][19]
- OpenAFS[20]
- OpenStack[21]
- Qt-Framework[22]
- Sandia National Laboratories
- Scilab[23]
Literatur
- Luca Milanesio: Learning Gerrit Code Review Packt Publishing, 2013, ISBN 978-1-78328-947-9.
- Jon Loeliger: Versionskontrolle mit Git O’Reilly, 2009, ISBN 978-3-89721-945-8.
Weblinks
- Offizielle Website (englisch)
- Alex Blewitt: Video-Demonstration von Gerrit. In: AlBlue’s Blog. 2011.
- Chris Aniszczyk: Folien: Effective Development with Eclipse Mylyn, Git, Gerrit and Hudson. In: slideshare.net, 2011 (englisch).
- Gerrit auf Wikibooks (englisch)
- Gerrit for Wikimedia code review and contributions
- Gerrit for Pixel Experience ROM
Einzelnachweise
- Gerrit Code Review Releases. In: gerritcodereview.com. Abgerufen am 28. Juli 2020 (englisch).
- Angaben zur verwendeten Lizenz. In: storage.googleapis.com. Abgerufen am 17. August 2017 (englisch).
- Gerrit Trigger for Jenkins
- Informationen zur Geschichte von Gerrit Code Review (abgerufen am 1. Juni 2011)
- code.google.com
- Schematische Darstellung des Workflows mit Git und Gerrit anhand des Android-Projektes (abgerufen am 1. Juni 2011)
- android-review Code Review. Abgerufen am 24. Juni 2012.
- Introducing Gerrit – a scalable code review system. (Nicht mehr online verfügbar.) 23. Februar 2011, archiviert vom Original .
- Gerrit im TYPO3-Projekt (abgerufen am 1. Juni 2011)
- Community section of official Homepage
- Gerrit Server der Eclipse Foundation
- GerritForge. Abgerufen am 11. Februar 2018.
- GWT-Review Gerrit homepage. Abgerufen am 26. Januar 2014.
- Introducing Gerrit – Code Review and Community Contributions. Abgerufen am 23. Juli 2011.
- Announcement of archiving the ITK gerrit code review. Abgerufen am 6. Mai 2020.
- Gerrit for LibreOffice. 16. Juni 2012, abgerufen am 24. Juni 2012.
- gerrit.libreoffice Code Review. Abgerufen am 24. Juni 2012.
- Wikimedia engineering moving from Subversion to Git — Wikimedia blog. Blog.wikimedia.org, 15. Februar 2012, abgerufen am 21. Juni 2012.
- Gerrit. MediaWiki, 12. Juni 2012, abgerufen am 21. Juni 2012.
- Gerrit Code Review OpenAFS. Abgerufen am 4. Mai 2020.
- Gerrit Code Review OpenDev including OpenStack projects. Abgerufen am 6. Mai 2020.
- heise.de
- codereview.scilab.org