Ich nutze seit geraumer Zeit einen Subversion-Server zur Verwaltung meiner Programmier-Projekte. Da ich auf mehreren Rechnern arbeite und diese auch öfter mal platt mache, sprich formatiere, kam ich immer wieder an einen Punkt, an dem nicht ganz klar war, auf welchem Rechner die aktuellen Versionen der einzelnen Projekte liegen.

Ich habe mich daraufhin nach Lösungsmöglichkeiten umgesehen, natürlich hätte ich auch einfach ein wenig ordentlicher mit meinen Daten umgehen können, aber ich bin für kleine Spielereien immer zu haben, daher las ich mich in das Thema rund um Subversion ein und kurze Zeit später hatte ich auch schon einen entsprechenden Server laufen.

Aber was macht Subversion eigentlich? Subversion (kurz: SVN) verwaltet beliebige Projekte die auf Textdateien beruhen, also jeglichen Quellcode, Textdokumente etc. Die Dateien werden mit Hilfe eines SVN-Clients (ich empfehle TortoiseSVN) auf den SVN-Server kopiert und dort gespeichert. Nun können diese Daten von jedem beliebigem Rechner im Internet heruntergeladen werden, das richtige Passwort vorausgesetzt natürlich, was das arbeiten an mehrerern Rechner deutlich erleichtert. Wird die aktuelle Version auf einem der Arbeitsrechner verändert, werden die Änderungen auf dem Server ebenfalls vorgenommen, da aber nicht nur die neuen Dateien gespeichert werden, sondern die einzelnen Änderungen an den Texten, ist es später auch ohne Probleme möglich, auf eine ältere Version zurückzupatchen.
Ein entsprechendes Webfrontend vorausgesetzt, ist es möglich sich die Änderungen zwischen zwei verschiedenen Versionen im Browser anzeigen zu lassen, die hinzugefügten, gelöschten oder geänderten Zeilen werden markiert und sind somit gut erkennbar.

Der Server selbst läuft auf einem Apache-Server der mit den benötigten Erweiterungen installiert wurde, hierzu finden sich einige Anleitungen im Internet.

Subversion – Endlich Ordnung!