SVN

Aus Fedorawiki.de

Wechseln zu: Navigation, Suche


Edit.png Dieser Artikel ist noch nicht vollständig. Du kannst helfen, ihn zu bearbeiten.
Dieser Artikel ist Teil der HOWTO Sammlung

Subversion (SVN) ist ein System zur Versionsverwaltung von Software-Code, Dokumenten oder anderen Elementen, welche sich regelmässig ändern. Es wurde als Ablösung für das verbreitete Programm CVS entwickelt, welches viele Schwachstellen aufweist. Die Bedienung ist der von CVS sehr ähnlich und es werden fast alle Funktionen unterstüzt.


Inhaltsverzeichnis

Installation des SVN-Server

Die Installation ist Dank Yum schnell erledigt.

[root]# yum install subversion mod_dav_svn mod_ssl

Konfiguration svn

Als erste Aktion muss ein Verzeichnis für das Speichern des Repositorys an gelegt werden. In diesem Beispiel wird davon ausgegangen, dass das Speicher-Verzeichnis unter /svn liegen wird.

[root]# cd /

und nun das Verzeichnis anlegen

[root]# mkdir svn

Erstellen eines Repository

[root]# svnadmin create /svn/repository

Rechte ändern

[root]# chown -R apache.apache /svn/repository

und

[root]# chmod g+s /svn/repository/db

Konfiguration Apache

Es empfiehlt sich die Benutzung von Benutzernamen und Passwort. So muss die Konfigurations-Datei /etc/httpd/conf.d/subversion.conf mit folgenden Zeilen ergänzt werden. Die lokalen Gegebenheiten sind zu berücksichtigen.

<Location /svn/repository>
   allow from all
   DAV svn
   SVNParentPath /svn/repository
   # Limit write permission to list of valid users.
   <LimitExcept GET PROPFIND OPTIONS REPORT>
      # Require SSL connection for password protection.
      SSLRequireSSL

      AuthType Basic
      AuthName "Subversion Repository"
      AuthUserFile /etc/httpd/passwd/passwords
      Require valid-user
      AuthzSVNAccessFile /etc/httpd/passwd/svnauthz.conf
   </LimitExcept>
</Location>

Anlegen eines Verzeichnises zum Speichern der Passwörter.

[root]# mkdir /etc/httpd/passwd

Anlegen der Benutzer mit den entsprechenden Passwörtern

[root]# htpasswd -cbm /etc/httpd/passwd/passwords Benutzername Passwort

Später können neue Benutzer mit folgendem Kommando binzugefügt werden. Der Paramter -c wird nur beim Anlegen des ersten Benutzers benötigt.

Nun muss eine Datei mit dem Namen /etc/httpd/passwd/svnauthz.conf angelegt werden. Wird SVNPath directive verwendent, hat beispielsweise Stefan Schreib- und Lesezugriff und Andreas hat nur Lese-Zugriff.

[/]
stefan = rw
andreas = r

Neustarten von Apache

[root]# service httpd start

Der Server ist nun unter http://localhost/svn/repository/ erreichbar.

SELinux

braucht es auch noch Anpassungen...


Verwendung

Beziehen einer lokalen Arbeitskopie

Um überhapt mit den Daten aus einem Repository arbeiten zu können, muss eine lokale Kopie der Daten vorhanden sein. Zu späteren Zeitpunkten kann dann mit update gearbeitet werden.

svn co https://localhost/svn/repository

Anlegen einer neuen Datei

Als erstes muss ein Verzeichnis innerhalb der lokalen Arbeitskopie angelegt werden.

mkdir verzeichnis01

Bekanntmachen des Verzeichnises

svn add verzeichnis01

Übertragen der Änderung

svn commit verzeichnis01

Der SVN-Server wird nun aktualisiert.

Nun kann in das neue Verzeichnis gewechselt und eine Datei angelegt werden. Der Schritt für die Datei ist analog des Verzeichnises.

cd verzeichnis01

Nun die Datei erstellen oder hineinkopieren und an den SVN-Server übermitteln.

svn add datei01.txt
svn commit -m "Datei xyz eingefuegt" datei01.txt

Ändern einer bestehenende Datei

Als erstes sollte die lokale Kopie aktualisiert werden.

svn update

Nun kann die gewünschte Datei bearbeitet werden.

Nach Abschluss der Bearbeitung sollte die Datei wieder eingecheckt werden.

svn commit -m "Rechschreibefehler korrigiert" datei02.txt

Wiederherstellen einer Datei

Ist man mit den Änderungen, welche man gemacht, an der lokalen Kopie nicht zufrieden, können diese wieder rückgängig gemacht werden..

svn revert datei00.txt


Sicherung des gesamten Respository

Die Sicherung des Repository kann auf herkömmliche Backup-Arten gemacht werden. Es existiert jedoch auch der Weg mit svnadmin.

Sicherung

So wird der Inhalt des Repository in eine Datei geschrieben.

svnadmin dump /pfad/zu/svn/repository/ > repository−dumpfile

Zurücksichern

Alle Daten werden aus der Dump-Datei in das Repository geschrieben.

svnadmin load /pfad/zu//svn/ < repository−dumpfile


Siehe auch


Links