Subversion (SVN) ist eine Freie Software zur Versionsverwaltung von Dateien und Verzeichnissen.
Die Versionierung erfolgt in einem zentralen Projektarchiv (engl. repository) in Form einer einfachen Revisionszählung. Wenn Änderungen an Inhalten verteilt auf den Computern der Bearbeiter ausgeführt werden, werden zwischen dem Projektarchiv und einem Arbeitsplatz jeweils nur die Unterschiede zu bereits vorhandenen Ständen übertragen.
--------------- --------------------------------------------------------------------------------------------------------
svn Das Kommandozeilenprogramm
svnadmin Ein Werkzeug zum Erstellen, Verändern oder Reparieren eines Repositorys
svndumpfilter Ein Programm zum Filtern von Subversion-Repository-Dump-Streams
svnlook Ein Werkzeug zur direkten Untersuchung eines Subversion-Repositorys
svnserve Ein spezielles Server-Programm, dass als Hintergrundprozess laufen oder von SSH aufgerufen
werden kann; eine weitere Möglichkeit, das Repository über ein Netzwerk verfügbar zu machen
svnsync Ein Programm zum inkrementellen Spiegeln eines Repositorys über ein Netzwerk
svnversion Ein Programm, das den Zustand einer Arbeitskopie (durch Revisionen der vorliegenden Objekte) berichtet
--------------- --------------------------------------------------------------------------------------------------------
Ein Repository wird mit folgendem Befehl angelegt
svnadmin create --fs-type fsfs /PFAD_ZU_DEM_EXT2_TRAEGER/REPOSITORY_NAME
REPOSITORY_NAME ist ein Platzhalter und darf beliebig gewählt werden. Der Datenträger muss mit ext2 bzw. ext3 formatiert werden, Repositories auf FAT- bzw. NTFS-Trägern werden von Freetz (derzeit noch) nicht unterstützt.
Nachdem das Repository angelegt ist, sind in dem Verzeichnis REPOSITORY_NAME/conf folgende Dateien zu finden bzw. neu anzulegen. Welche Einträge in diesen gemacht werden können und was sie bedeuten, kann hier nachgelesen werden. Die allereinfachte Konfiguration könnte z.B. so aussehen:
authz einfach leer
passwd
[users]
DeinName = DeinPasswort
svnserve.conf
[general]
anon-access = none
auth-access = write
password-db = passwd