Gerrit (Software)
| Gerrit
| |
|---|---|
| colspan="2" class="notheme" style="text-align:center; background:#Vorlage:Standardfarbe; color:#202122;" | Logo | |
| Screenshot Weboberfläche von Gerrit 2.2.1 auf Chromium (Browser)/OS X | |
| Basisdaten
| |
| Maintainer | Lua-Fehler in Modul:Wikidata, Zeile 1703: attempt to index field 'wikibase' (a nil value) |
| Entwickler | Google Inc. |
| Erscheinungsjahr | Lua-Fehler in Modul:Wikidata, Zeile 1703: attempt to index field 'wikibase' (a nil value) |
| Aktuelle Version | Lua-Fehler in Modul:Wikidata, Zeile 1703: attempt to index field 'wikibase' (a nil value) (Lua-Fehler in Modul:Wikidata, Zeile 1703: attempt to index field 'wikibase' (a nil value)) |
| Aktuelle Vorabversion | Lua-Fehler in Modul:Wikidata, Zeile 1703: attempt to index field 'wikibase' (a nil value) (Lua-Fehler in Modul:Wikidata, Zeile 1703: attempt to index field 'wikibase' (a nil value)) |
| Betriebssystem | Java EE |
| Programmiersprache | Java, Servlet, GWT |
| Kategorie | Code-Review |
| Lizenz | Apache 2.0<ref>Angaben zur verwendeten Lizenz. In: storage.googleapis.com. Abgerufen am 17. August 2017 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).</ref> |
| deutschsprachig | ja |
| www.gerritcodereview.com | |
Gerrit ist eine Softwareentwicklungsplattform für Git mit der sich Änderungen an einer Software diskutieren und schließlich in diese integrieren lassen.
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,<ref>Gerrit Trigger for Jenkins</ref> als Unterstützung verwendet werden.
Geschichte[Bearbeiten]
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.<ref>Die Seite Vorlage:Webarchiv/styles.css hat keinen Inhalt.Informationen zur Geschichte von Gerrit Code Review ( vom 2. November 2012 im Internet Archive) (abgerufen am 1. Juni 2011)</ref>
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.<ref>Die Seite Vorlage:Webarchiv/styles.css hat keinen Inhalt.code.google.com ( vom 2. November 2012 im Internet Archive)</ref>
Workflow[Bearbeiten]
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.<ref>Schematische Darstellung des Workflows mit Git und Gerrit anhand des Android-Projektes (abgerufen am 1. Juni 2011)</ref>
Verwendung[Bearbeiten]
Die folgende Liste enthält beispielhaft einige bekannte Unternehmen und Projekte, die Gerrit verwenden oder verwendet haben:
- Android,<ref>android-review Code Review. Abgerufen am 24. Juni 2012.</ref> Qualcomm Innovation Center, MeeGo, Sony Ericsson
- Assembla<ref>Introducing Gerrit – a scalable code review system. 23. Februar 2011, archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar).</ref>
- Intel, Red Hat, SAP
- Couchbase, WebM, TYPO3<ref>Gerrit im TYPO3-Projekt (abgerufen am 1. Juni 2011)</ref>
- CyanogenMod / LineageOS<ref>Community section of official Homepage</ref>
- Pixel Experience ROM
- Eclipse Software Foundation<ref>Gerrit Server der Eclipse Foundation</ref> (z. B. für das EGit/JGIT-Projekt)
- GerritForge<ref>GerritForge. Archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am 12. Februar 2018; abgerufen am 11. Februar 2018.</ref>
- GWT<ref>GWT-Review Gerrit homepage. Abgerufen am 26. Januar 2014.</ref>
- Kitware (z. B. CMake)<ref>Introducing Gerrit – Code Review and Community Contributions. Archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am 18. April 2012; abgerufen am 23. Juli 2011.</ref><ref>Announcement of archiving the ITK gerrit code review. Abgerufen am 6. Mai 2020.</ref>
- LibreOffice<ref>Gerrit for LibreOffice. 16. Juni 2012, archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am 28. Februar 2015; abgerufen am 24. Juni 2012.</ref><ref>gerrit.libreoffice Code Review. Abgerufen am 24. Juni 2012.</ref>
- MediaWiki<ref>Wikimedia engineering moving from Subversion to Git — Wikimedia blog. Blog.wikimedia.org, 15. Februar 2012, abgerufen am 21. Juni 2012.</ref><ref>Gerrit. MediaWiki, 12. Juni 2012, abgerufen am 21. Juni 2012.</ref>
- OpenAFS<ref>Gerrit Code Review OpenAFS. Abgerufen am 4. Mai 2020.</ref>
- OpenStack<ref>Gerrit Code Review OpenDev including OpenStack projects. Abgerufen am 6. Mai 2020.</ref>
- Qt-Framework<ref>heise.de</ref>
- Sandia National Laboratories
- Scilab<ref>Die Seite Vorlage:Webarchiv/styles.css hat keinen Inhalt.codereview.scilab.org ( vom 31. Oktober 2012 im Internet Archive)</ref>
Literatur[Bearbeiten]
- 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[Bearbeiten]
- 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[Bearbeiten]
<references responsive />