Git als Subversion-Nachfolger

Seit über sechs Jahren (2012-2018) wird die technikum29-Website über Subversion (SVN) bearbeitet. Dies erlaubt das problemlose gleichzeitige Bearbeiten von Dateien und ermöglicht eine lückenlose Rekonstruktion vergangener Arbeiten.

Überlegungen Git vs. SVN

Vorteile von Subversion:

  • Einfach: Alle geänderten Dateien werden automatisch committed, ein Commit wird automatisch hochgeladen. Versionen werden aufsteigend gezählt. Derzeit sind wir bei ungefähr #1492, eine beeindruckende Zahl im Gegensatz zu einem nichtssagenden Git-Sha-Commit-String wie a8df2c1
  • Infrastruktur ist selbstgehostet (autark) und bewährt. Dank einer Mail pro Commit bleibt es übersichtlich. Die Einbindung in das selbstgehostete Trac ist ebenfalls gut.

Nachteile von Subversion und damit Vorteile von Git sind fast ausschließlich auf das einfache Branching von git zurückzuführen. Dies ermöglicht viele neue Nutzungsmöglichkeiten:

  • Entwürfe von Seiten lassen sich als seperater Branch bereits hochladen und müssen nicht auf dem Computer bleiben.
  • Pull Requests erlauben das kollaborative Bearbeiten und Vorschlagen von Korrekturen. Diese Funktion überwiegt die Nachteile des komplizierteren gits gegenüber SVN.
  • Über Github ist die Seite besser sichtbar und auch online (zumindest rudimentär) bearbeitbar. Die Verwendung der etablierten Github-Plattform senkt die Hemmschwelle für neue Bearbeiter.
  • Trennung von Commits und Push erlaubt strukturiertes Offline-Arbeiten.

Migration zu git

Unter https://github.com/technikum29/technikum29-www gibt es seit Februar 2018 bereits einen (nicht automatisch gesyncten) Mirror des Subversion-Repositoriums, welches derzeit noch unter https://www.technikum29.de/svn/technikum29-www/ gehostet wird.

Für die Migration zu git wurde git svn verwendet, mit der Option --preserve-empty-dirs sowie dem Author-Mapping

heribert = heribert <heribert@svn-users.technikum29.de>
incubator = incubator <incubator@svn-users.technikum29.de>
sven = sven <sven@svn-users.technikum29.de>

Ein letzter Sync wurde am 05.02.2019 vorgenommen, dabei wurden nochmal ca. 10 SVN-Commits seit März 2018 übernommen. Seitdem wurde nach Git gewechselt, das Subversion-Repository verbleibt out-of-sync (bestenfalls "Read only").

Verbleib von Trac

Die Trac-Installation ist etwas in die Jahre gekommen, eine Projektverwaltung (Wikis, Issues, Meilensteine) auf Github ist eine Lösung, die viele Open-Source-Projekte als zeitgemäßer erkannt haben. Interessant finde ich auch den gehosteten Service, sodass die Wartung einer eigenen Software wegfällt. Deswegen ist eine selbstgehostete Git-Lösung auch nicht attraktiv.

Trac wird als Wiki erst mal weiter bestehen bleiben. Möglicherweise kann das Git-Repository hier reingeladen werden, sodass der Repository-Browser nicht ein völlig veraltetes Subversion-Repository zeigt.

Last modified 9 months ago Last modified on Feb 5, 2019, 1:20:45 PM
© 2008 - 2013 technikum29 • Sven Köppel • Some rights reserved
Powered by Trac
Expect where otherwise noted, content on this site is licensed under a Creative Commons 3.0 License