Subversion (SVN) ist ein freies Open-Source Versionsverwaltungssystem für Dateien und Verzeichnisse. Wir verwenden diese, um unsere wichtigen Unternehmensdateien zentral abzusicherern: es wird in der Regel bei der Softwareentwicklung eingesetzt. In dieser kommt es oft vor, dass mehrere Programmierer gleichzeitig eine oder mehrere Dateien bearbeiten wollen.
Wenn zum Beispiel zwei Entwickler zur gleichen Zeit dieselben Daten bearbeitet haben, meldet beim Übertragen der Daten auf den Server Subversion einen Konflikt und bietet Vorschläge zur Lösung an.
Der Quellcode wird zentral auf einem Server in so genannten Repositories* gespeichert. Will ein Entwickler an einer Datei arbeiten, checkt er sie aus, d. h. er lädt die Datei runter auf seinen Rechner. Beim Auschecken wird dann auch angezeigt, welche Revision (d. h. Version) der Entwickler gerade runterlädt. Hat der Entwickler die Änderungen abgeschlossen wird ein Commit durchgeführt, d. h. die Datei wird wieder auf dem Server in einem
Repository abgespeichert. Bevor dies geschieht, wird jedoch vom System überprüft, ob die Datei inzwischen von jemand anderem bearbeitet wurde. Dies geschieht anhand der Versionsnummer, die für jedes im Repository befindlichen Objekt vergeben und gespeichert wird. Stimmt die Versionsnummer überein, so wird diese inkrementiert und die geänderte Datei im Repository gespeichert. Ist aber bereits eine neuere Version der Datei vorhanden, muss ein sogenannter Diff durchgeführt werden. Dabei werden dem Entwickler seine Datei und die bereits vorhandene Version angezeigt und die Änderungen werden dabei hervorgehoben. Nun muss der Entwickler entscheiden, welche Änderungen übernommen werden sollen. Ein weiterer Vorteil von SVN ist, dass gelöschte Dateien wiederherstellbar sind, da jede Version im Repo abgespeichert wird. Will man eine Datei wiederherstellen, muss man nur eine ältere bzw. die letzte Revision abrufen, in der die Datei vorhanden war. Ebenso kann man auch für seinen Commit ein Revert durchführen, d. h. die Änderungen wieder
rückgängig machen.
Beim Crazy Team sowie auch bei KS Palettenservice wird SVN zur Verwaltung der Firmendateien eingesetzt. Zusätzlich verwenden wir beim Crazy Team Subversion auch noch zur Quellcode-Verwaltung.
Für mehr Informationen zu Open-Source-Lösungen in ihrem Unternehmen stehe ich beim per Mail gerne für Sie zur Verfügung:
Manuel.Dipolt@Crazy-Team.info
*Repository: In seinem Kern ist ein Repository ein zentraler Speicher von Daten. Das Repository speichert Informationen in Form eines Dateisystembaumes, typischerweise eine Hierarchie von Dateien und Verzeichnissen.