Howto:Subversion

Subversion (SVN)

Einrichtung

  • Installation

Subversion kann einfach per Paket installiert werden:

apt-get install subversion
  • Repository einrichten

Nun muss man das Repository anlegen:

mkdir /var/svn
mkdir /var/svn/repository
svnadmin create /var/svn/repository/example

Dann sind die Rechte für den Zugriff einzurichten (wenn nicht nur auf Dateisystemrechte-Ebene gearbeitet werden soll). Die Konfiguration erfolgt im Repository-Verzeichnis. Die Konfigurationsdatei ist conf/svnserve.conf:

[general]

Die Nutzer werden in conf/authz eingetragen:

[groups]
 meinegruppe = crissi,mike

[/]
* =
crissi= rw
mike = rw
ansgar = ro


Dann kann man den ersten Commit machen:

svn import /path/to/projectexample file:///var/svn/repository/example/examplev1 -m"initial import"
  • Apache für Repositoryfreigabe einrichten

Es werden die Apache-Module authz und dav_svn benötigt. Diese stellen die Authentisierung bzw WebDAV-Schnittstelle bereit.

apt-get install apache2 libapache2-mod-svn

Nun ist die Datei /etc/apache2/mods-available/dav_svn.conf zu bearbeiten:

<Location /meinrepo>
  DAV svn
  SVNPath /var/svn/repository
  AuthType Basic
  AuthName "Subversion Repository"
  AuthUserFile /etc/apache2/dav_svn.passwd
  AuthzSVNAccessFile /etc/apache2/dav_svn.authz
  Require valid-user
</Location>

Danach ist die Benutzer-Datei zu verlinken:

ln -s /var/svn/repository/conf/authz /etc/apache2/dav_svn.authz

Nun noch die Nutzer anlegen:

touch /etc/apache2/dav_svn.passwd
htpasswd /etc/apache2/dav_svn.passwd ansgar
htpasswd /etc/apache2/dav_svn.passwd crissi
htpasswd /etc/apache2/dav_svn.passwd mike

Das Repository ist dann unter http://servername/meinrepo/ erreichbar. Es empfiehlt sich, den Block <Location>...</Location> in /etc/apache2/mods-available/dav_svn.conf auszukommentieren und in einem virtuellen Host mit SSL-Unterstützung einzufügen, um die Kommunikation zu verschlüsseln.

Benutzung

  • Kommandozeile
    • Auschecken:
svn checkout file:///var/svn/repository/example
svn checkout http://anyurl.com/path
svn checkout svn://anyurl.com/path
svn checkout svn+ssh://user@anyurl.com/path
  • Arbeitskopie aktualisieren auf neueste Version:
svn up
  • Arbeitskopie aktualisieren auf bestimmte Revision:
svn up -r 1234
  • Log anschauen
svn log
  • Log für bestimmte Revsion:
svn log -r 1234
  • Vergleich
svn diff datei.txt -r 1234:5678
svn diff datei.txt -r 1234:HEAD
  • Graphische Oberflächen
  • kdesvn - KDE-Client
  • TortoiseSVN - Windows-Client
  • KDevelop - graphische Entwicklungsumgebung
  • Eclipse - graphische Entwicklungsumgebung

Von "http://www.lug-wr.de/wiki/index.php/Howto:Subversion"

Diese Seite wurde bisher 4088 mal abgerufen. Diese Seite wurde zuletzt geändert um 08:16, 16. Aug 2010. Inhalt ist verfügbar unter der GNU Free Documentation License 1.2.