Subversion

Allgemeine Info

Subversion (SVN) ist eine Open-Source-Software, die zur Versionsverwaltung von Dateien verwendet werden kann. Allgemeine Informationen findest du auf der Wikipedia-Seite. Außerdem existiert ein virtuelles SVN Buch bei Wikibooks, aber es bietet leider z.Z. noch recht wenig Informationen.

SVN ist als direkter Nachfolger des immer noch benutzten, aber teilweise sehr unhandlichen CVS gedacht. Die einzelnen Befehle unterscheiden sich daher kaum, einige Konzepte jedoch stark. Die grössten Veränderungen betreffen die Handhabung von Revisionsnummern und damit von "Tags" und "Branches". Das Datenmodell von SVN ist allgemeiner und damit flexibler als das von CVS und erfasst neben einzelnen Dateien auch Verzeichnisse. Manche sagen, "Branches" werden dadurch überhaupt erst vernünftig nutzbar.

Mittlerweile gibt es viele Möglichkeiten, mit SVN zu operieren. Wie man SVN installiert, steht hier ganz gut beschrieben. Auf UbuntuUsers.de gibt es auch eine kleine Anleitung zu SVN. Ansonsten gibt es das umfassende svnbook (en).

Zum Schluss möchte ich noch kurz erwähnen, welche Befehle am wichtigsten für SVN sind. Für eine ausführliche Dokumentation siehe weiter unten.

Um ein vorhandenes SVN Repository "auszuchecken", also dessen Inhalt abzurufen und somit ein neues Arbeitsverzeichnis anzulegen, verwendet man:

svn co http://neues.svn-repository.xy/ordner /zielordner/project

co steht übrigens als synonym zu checkout.

Nun besitzt man eine Arbeitskopie mit dem Namen ordner im Ordner /zielordner/project.

Wenn man hier nun den Quellcodes seines Projektes z.B. editiert hat, benutzt man:

svn ci -m "nachricht, warum z.B. das update erfolgte"

Man kann auch einfach nur " svn ci " schreiben, danach wird automatisch ein Editor geöffnet, wo man eine Nachricht eintragen kann.

Nun wissen wir, wie wir ein neues Arbeitsverzeichnis anlegen und veränderte Inhalte wieder auf den Server bringen. Doch nun sind wir drei Programmierer. Und einer hat etwas verändert. Wie bringe ich meine Arbeitskopie wieder auf Vordermann?

Ganz einfach. Du wechselst in das Verzeichnis deiner Arbeitskopie:

cd /zielordner/project

Nun lässt du ganz einfach mit diesem Befehl deine Arbeitskopie aktualisieren:

svn update

Nun ist deine Arbeitskopie wieder auf dem aktuellsten Stand und du kannst weiterarbeiten.

Subversion erlaubt den Checkin von Änderungen nur, wenn die Datei lokal auf dem neuesten Stand ist. Dadurch werden Änderungskonflikte vermieden. Es hilft daher immer, öfters ein Update durchzuführen.

Lokale Änderungen kannst du mit

svn diff

anzeigen.

Eine kürzere Ansicht (man sieht nur die Namen der geänderten Dateien) gibt es mit

svn status

(Muss noch vervollständigt werden!)

Client Software

PySVN

(Auch "Work Bench" oder "svn-WorkBench" bezeichnet.)

Ein in Python geschiebener Client. Nutzt wxWindows und ist Plattform unabhängig.

Installation unter Linux mit apt-get install svn-workbench

Screenshot: http://pysvn.tigris.org/docs/WorkBench_files/wb_main_window.png

TortoiseSVN

Ein Client nur für Windows. Integriert sich vollständig in den Dateiexplorer.

Subversion (last edited 2009-06-17 16:14:14 by localhost)