Gerrit (Software)
Van Wikipedia, de gratis encyclopedie
Gerrit
| |
---|---|
![]() | |
![]() Weboberfläche von Gerrit 2.2.1 auf Chromium (Browser)/OS X | |
Basisdaten
| |
Entwickler | Google Inc. |
Aktuelle Version | 3.11.1[1] (13. Januar 2025) |
Betriebssystem | Java EE |
Programmiersprache | Java, Servlet, GWT |
Kategorie | Code-Review |
Lizenz | Apache 2.0[2] |
deutschsprachig | nein |
www.gerritcodereview.com |
Gerrit ist ein auf Zusammenarbeit basierendes Review-System für Git. Mit Gerrit lassen sich Änderungen an einer Software diskutieren und schließlich in diese integrieren.
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
[Bearbeiten | Quelltext 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.[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
[Bearbeiten | Quelltext 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.[6]
Verwendung
[Bearbeiten | Quelltext bearbeiten]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
[Bearbeiten | Quelltext 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 | Quelltext 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 | Quelltext bearbeiten]- ↑ Release 3.11.1. 13. Januar 2025 (abgerufen am 21. Januar 2025).
- ↑ 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. 23. Februar 2011, archiviert vom (nicht mehr online verfügbar) .
- ↑ 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. Archiviert vom (nicht mehr online verfügbar) am 18. April 2012; abgerufen am 23. Juli 2011. Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.
- ↑ 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 ( des vom 31. Oktober 2012 im Internet Archive) Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.