Subversion

Aus Lowlevel
Wechseln zu: Navigation, Suche
Diese Seite oder Abschnitt ist zwar komplett, es wird aber folgende Verbesserungen gewünscht:

Kontrolllesen, außerdem meine TODOs im Text abarbeiten bitte :)

Hilf Lowlevel, den Artikel zu verbessern.


Subversion (oft abgekürzt als SVN) ist ein zentrales Versionskontrollsystem.

Entwicklungsziel

Die Arbeiten am Subversionprojekt wurden 2000 begonnen. Das Ziel war es, Probleme bei CVS zu umgehen: Ein Beispiel dafür ist das Branching, welches jetzt in konstanter Laufzeit vonstatten geht. Dieser Ansatz brachte dem Projekt schnell den Slogan "CVS done right" ein. Darum wird CVS heutzutage auch meistens nur noch genutzt, wenn die Entwickler Subversion nicht kennen, oder die Umstellung auf ein neues System scheuen.

Installation

Linux

Subversion lässt sich bei jeder größeren Distribution aus den Paketquellen installieren. Meist heißt das Paket subversion.

Es gibt jedoch, wie unter Windows, einen grafischen SVN Clienten namens kdesvn, der sehr komfortabel ist.

Windows

Unter Windows ist die Arbeit mit der Shell oft weniger bequem als unter Linux, darum empfiehlt sich die Installation von TortoiseSVN, welches sich sehr gut in den Windows Explorer integiert.

Dazu lädt man zunächst das aktuelle Paket von dieser Seite herunter, und installiert es. Nach der Installation stehen im Kontextmenü des Windows Explorers die unten genannten Befehle für SVN zur Verfügung.

Schnellstart

Für einen reibungslosen Einsteig in Subversion gibt es hier eine Auflistung der wichtigsten Befehle. Jedoch empfiehlt sich auf jedem Fall ein genaues Studium der Dokumentation, da hier nur die wirklich grundlegendsten Befehle aufgelistet werden.

Bei Windows ist das Prinzip genau gleich, nur muss man die Befehle im Kontextmenü auswählen, und erhält für die Befehlsparameter praktische Eingabefenster.

Archiv herunterladen (checkout)

Um an der Entwicklung eines bestehenden Projektes teilzunehmen muss man oft erst die Entwicklerversion herunterladen. Subversion bietet dafür den Befehl checkout, den man oft auch co abkürzt.

Beispiel (Kopie des Tyndur-Archives):

# Archiv herunterladen
svn co svn://overgames.de/lost 

Archiv aktualisieren (update)

Wenn sich das Archiv auf dem Server verändert hat, weil ein anderer Entwickler einen Commit gemacht hat, dann ist es nötig, seine Arbeitskopie auf den selben Stand zu bringen. Das geschieht durch den Befehl update (oder kurz up).

Bei einem Update kann es passieren, dass Konflikte entstehen. Diese korrigiert man einfach, indem man die diff-ähnlichen Kommentare in den Dateien, welche in Konflikt stehen, von Hand auflöst.

# Alle Änderungen herunterladen
svn up

Änderungen übertragen (commit)

Irgendwann kommt der Zeitpunkt, an dem man seine Änderungen öffentlich machen will. Das geschieht mit dem Befehl commit (kurz ci).

Im Gegensatz zu Git werden alle Änderungen an getrackten Dateien standardmäßig automatisch übertragen, ohne dass man sie explizit zu einem Commit hinzufügen muss, also Vorsicht.

# Alle Änderungen hochladen
svn ci

Ausblick

TODO: Ein svn-affiner Mensch bitte die anderen wichtigen Befehle hier erwähnen, danke

Kostenloses Subversion-Hosting

Hier eine Liste von Anbietern, bei denen man sein Subversion-Archiv kostenlos hosten kann, um es für die Öffentlichkeit zugängig zu machen.

Weblinks