Subversion (SVN)   

Software Entwicklung geschieht heute in Teamarbeit. Das bedeutet aber nicht, dass jeder Software Entwickler immer nur seinen Teil bearbeitet und das ganze erst am Ende zusammen geabaut (integriert) wird. Viel mehr bearbeitet man durchaus auch die selben Source Code Dateien. Dabei kommt es zwangsläufig zu Problemen von überschriebenen Änderungen, würde man sich nicht gut absprechen.

Früher hat man sich im wahrsten Sinne "Abgesprochen", also per Zuruf gearbeitet. Heute, wo manche Mitarbeiter irgendwo auf der Welt arbeiten, oder auch nur mal von "Zu Hause" einen Tag etwas tun, funktioniert das nicht mehr. Also haben wir Techniken entwickelt, die das Zurufen automatisch machen. Man nennt diese Systeme "Versionskontrollsystem". Davon gibt es aber natürlich nicht nur eines, sondern verschiedenste, mit unterschiedlicher Funktionalität; für verschiedene Betriebssysteme, wie Linux oder Windows ®; oder mit zentraler bzw. dezentraler Struktur.

Solch ein System verwaltet die verschiedenen Versionen der Source Code Dateien, aber nicht nur diese. Es können auch Dokumente oder Zeichnungen verwaltet werden. Dieses aber meißt nur Binär. Das geniale an solch einem System ist die Möglichkeit, Änderungen einer anderen Person in seine lokale Kopie automatisch einzupflegen. Weiters kann man seine Version nicht an das System übertragen (Einchecken), wenn eine andere Person die entsprechende Datei bereits im System Verändert hat.

Wenn man solch ein System nun über das Internet für den Rest der Welt zugänglich macht, dann können Entwickler in der gesammten Welt an einem Projekt arbeiten und dieses somit viel schneller voran treiben, als ein Einzelner oder eine Firma das alleine k¨nnte.
Auf diese Weise ist Linux, das freie Betriebsystem entstanden und tausende weiterer Programme für die verschiedensten Betriebsysteme

In meiner Firma setzen wir Subversion (SVN) ein. Dieses System ist ein zentrales System. Das bedeutet, es gibt einen Server über den alle Zugriffe synchronisiert werden. Nachdem ich mich damit gut auskenne, habe ich beschlossen für meine Projekte ebenfalls Subversion einzusetzen. Meine Freundin stellte den Server und somit waren alle Bedingungen erfüllt, um zu starten.

Wie man nun so einen SVN Server einrichtet und zwar so, dass die verschiedenen Bereiche (Repositories) auch verschiedene Zugriffssteuerungen erlauben, erkläre ich unter "Server".