Gerrit (Software)

aus Wikipedia, der freien Enzyklopädie
Gerrit

Logo
Screenshot
Weboberfläche von Gerrit 2.2.1 auf Chromium (Browser)/OS X
Basisdaten

Entwickler Google Inc.
Aktuelle Version 3.5.1[1]
(18. März 2022)
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

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:

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

Commons: Gerrit – Sammlung von Bildern, Videos und Audiodateien

Einzelnachweise

  1. Gerrit Code Review Releases. In: gerritcodereview.com. Abgerufen am 21. März 2022 (englisch).
  2. Angaben zur verwendeten Lizenz. In: storage.googleapis.com. Abgerufen am 17. August 2017 (englisch).
  3. Gerrit Trigger for Jenkins
  4. Informationen zur Geschichte von Gerrit Code Review (abgerufen am 1. Juni 2011)
  5. code.google.com
  6. Schematische Darstellung des Workflows mit Git und Gerrit anhand des Android-Projektes (abgerufen am 1. Juni 2011)
  7. android-review Code Review. Abgerufen am 24. Juni 2012.
  8. Introducing Gerrit – a scalable code review system. (Nicht mehr online verfügbar.) 23. Februar 2011, archiviert vom Original;.
  9. Gerrit im TYPO3-Projekt (abgerufen am 1. Juni 2011)
  10. Community section of official Homepage
  11. Gerrit Server der Eclipse Foundation
  12. GerritForge. Abgerufen am 11. Februar 2018.
  13. GWT-Review Gerrit homepage. Abgerufen am 26. Januar 2014.
  14. Introducing Gerrit – Code Review and Community Contributions. Abgerufen am 23. Juli 2011.
  15. Announcement of archiving the ITK gerrit code review. Abgerufen am 6. Mai 2020.
  16. Gerrit for LibreOffice. 16. Juni 2012, abgerufen am 24. Juni 2012.
  17. gerrit.libreoffice Code Review. Abgerufen am 24. Juni 2012.
  18. Wikimedia engineering moving from Subversion to Git — Wikimedia blog. Blog.wikimedia.org, 15. Februar 2012, abgerufen am 21. Juni 2012.
  19. Gerrit. MediaWiki, 12. Juni 2012, abgerufen am 21. Juni 2012.
  20. Gerrit Code Review OpenAFS. Abgerufen am 4. Mai 2020.
  21. Gerrit Code Review OpenDev including OpenStack projects. Abgerufen am 6. Mai 2020.
  22. heise.de
  23. codereview.scilab.org