Subversion

Subversion

Subversion (kurz SVN) ist ein Versionskontrollsystem, das Änderungen an Dateien und Ordnern nachvollziehbar speichert und Teams ermöglicht, gemeinsam an denselben Dateien zu arbeiten, ohne sich gegenseitig zu überschreiben. Es war jahrelang der Industriestandard, bevor Git es weitgehend ablöste.

Subversion ist eine Software, die alle Änderungen an einem Dateibestand aufzeichnet. Jede Änderung bekommt eine Nummer, die sogenannte Revisionsnummer. So kann man jederzeit nachsehen, wer wann was verändert hat — und bei Bedarf ältere Versionen wiederherstellen. Mehrere Personen können gleichzeitig an denselben Dateien arbeiten, ohne dass ihre Änderungen verloren gehen. Entwickelt wurde Subversion Anfang der 2000er-Jahre; heute wird es von der Apache Software Foundation gepflegt und deshalb oft Apache Subversion genannt.

Subversion als Rückgrat der Zusammenarbeit

Ohne ein Versionskontrollsystem müssen Teams Dateien mit Namen wie „Entwurf_final_v3_NEU.docx“ hinterherschicken. Das führt schnell zu Chaos, wenn mehrere Personen gleichzeitig arbeiten. Subversion löst dieses Problem, indem es alle Änderungen zentral auf einem Server speichert.

Besonders wichtig ist das Konzept der Revisionsnummer. Jedes Mal, wenn jemand seine Änderungen auf den Server hochlädt — das nennt sich ein Commit — steigt die Revisionsnummer um eins. Damit entsteht eine lückenlose Chronik des gesamten Projekts. Hat jemand versehentlich eine wichtige Funktion gelöscht, lässt sich exakt die Revision wiederherstellen, in der sie noch vorhanden war.

Ein weiterer Vorteil ist die Zurechenbarkeit. Das System hält fest, welcher Nutzer welche Zeile in welcher Revision geändert hat. In Teams, die gemeinsam Code oder Dokumente pflegen, ist das unverzichtbar: Streit über die Urheberschaft einer Änderung lässt sich sekundenschnell klären.

Zentrales Depot und das Checkout-Prinzip

Subversion arbeitet nach dem zentralisierten Prinzip. Es gibt genau einen Server, auf dem das sogenannte Repository liegt — das ist das zentrale Depot aller Dateien und ihrer gesamten Geschichte. Wer mitarbeiten will, holt sich eine Arbeitskopie auf seinen eigenen Rechner, was als Checkout bezeichnet wird. Von da an arbeitet man lokal und lädt fertige Änderungen per Commit wieder auf den Server.

Wenn zwei Personen dieselbe Datei gleichzeitig bearbeiten, erkennt Subversion den Konflikt. Es versucht, beide Änderungen automatisch zusammenzuführen. Gelingt das nicht — etwa weil beide dieselbe Zeile unterschiedlich geändert haben — meldet das System einen Konflikt, den ein Mensch manuell lösen muss. Das klingt umständlich, ist aber weit besser als das stille gegenseitige Überschreiben.

Subversion behandelt Verzeichnisse und Dateien gleich. Auch das Umbenennen oder Verschieben einer Datei wird als Änderung gespeichert, nicht als Löschen und Neuerstellen. Das unterscheidet Subversion von älteren Systemen, die nur Dateiinhalte, nicht aber die Struktur eines Projekts im Blick hatten.

SVN in der Praxis — und warum Git es fast verdrängt hat

Jahrelang war Subversion in der Softwareentwicklung allgegenwärtig. Große Projekte wie der Linux-Distributor FreeBSD oder viele Open-Source-Bibliotheken nutzten es. Auch in Unternehmen, die keine Software entwickeln, kam SVN zum Einsatz — etwa um Konstruktionspläne, Rechtsdokumente oder Designdateien zu versionieren.

Seit etwa 2010 hat Git Subversion in der Softwareentwicklung weitgehend verdrängt. Der entscheidende Unterschied: Git ist verteilt. Jeder Entwickler trägt eine vollständige Kopie der Projektgeschichte auf seinem Rechner. Bei Subversion hingegen ist der zentrale Server unverzichtbar — fällt er aus, kann niemand committen oder die Geschichte einsehen. Für Teams, die an unterschiedlichen Standorten oder ohne stabile Internetverbindung arbeiten, ist das ein erheblicher Nachteil.

Trotzdem begegnet man SVN noch regelmäßig: in Unternehmen mit gewachsenen IT-Strukturen, in der Spieleentwicklung für sehr große Binärdateien und überall dort, wo ein striktes, zentralisiertes Rechtemanagement gefragt ist. Wer in Tech-News liest, dass ein Projekt seine Quellen von SVN auf Git migriert, kann sicher sein, dass es sich um ein älteres, etabliertes Projekt handelt.

Související produkty

Aktuální zprávy

Subscribe free. Unsubscribe the second it sucks.

High-signal news across AI, business, UX, and tech. Every morning.