SVN im Netz

Eine Versionsverwaltung dient häufig als zentrale Anlaufstelle für ein Entwicklerteam. Es gibt daher viele Möglichkeiten, das Repository im Netz bereitzustellen. Das Paket SVN bringt mit svnserve bereits einen einfach zu konfigurierenden Netzwerkdienst mit. Alle erforderlichen Einstellungen nehmen Sie in den Dateien conf/svnserve.conf und conf/passwd vor. Eine svnserve.conf mit dem Inhalt aus Listing 5 erlaubt nur den in passwd (Listing 6) festgelegten Usern einen Zugriff auf das Repository. Nach dem Start von svnserve -d können Sie in SVN-Befehlen als Pfad zum Repository svn://Rechner/lokaler/Pfad/zum/Repository angeben.

Listing 5

### conf/svnserve.conf
[general]
password-db= passwd
realm = example realm  ### eine Art "Namespace"
anon-access = none     ### für anonymen Lesezugriff: "read"
auth-access = write

Listing 6

### conf/passwd
[users]
user   = secret  ### User / Passwort
user2 = secret2  ### User / Passwort

svnserve erlaubt auch das Tunneln der Verbindung über Ssh und bietet damit eine abhörsichere Verbindung (Anleitung, englisch: [11]). Außerdem gibt es eine Reihe von Weboberflächen, mit denen sich der Inhalt des Repositorys im Webbrowser anzeigen lässt: CVSWeb (für CVS), ViewCVS (für CVS und Subversion) und WebSVN (für Subversion, Abbildung 4). Letzteres erzeugt sogar RSS-Feeds.

Abbildung 4: WebSVN ermöglicht Zugriff auf Subversion-Repositorys mit dem Webbrowser.

Und CVS?

SVN liegt seit Februar 2004 in einer stabilen Version vor. Der Umstieg von CVS fällt leicht, da SVN die meisten Befehle unverändert übernimmt. SVN bietet gegenüber dem Open-Source-Urgestein CVS eine Reihe Vorteile: Dateien lassen sich umbenennen und verschieben, und SVN ist sicherer und effektiver im Umgang mit Binärdateien. Zudem funktioniert der commit-Vorgang bei Subversion atomar: Dies bedeutet, dass er entweder vollständig oder gar nicht durchgeführt wird. Besonders bei Commits über das Netzwerk bietet dies zusätzliche Sicherheit.

Wer trotzdem noch CVS benutzt, tut dies aus Tradition oder aus ganz speziellen Bedürfnissen: CVS Repositorys benötigen weniger Speicher und obwohl Subversion als ausgereift gilt, sagt man CVS noch einen Tick mehr Stabilität nach.

Weitere Informationen zum Thema Versionsverwaltung bieten die Bücher [12], [13] und [14], eine ausführliche Anleitung zu SVN finden Sie online unter [15]. Zwei Artikel in LinuxUser 05/2005 liefern eine Einführung in die Versionskontrolle [16] und das handliche Versionskontrollsystem RCS [17].

Glossar

Versionsverwaltung

Eine Datenbank, die hilft, den Überblick über unterschiedliche Versionen vieler Dateien zu bewahren. Alle Version außer der gerade zu bearbeitenden bleiben dabei im Repository versteckt. Ein Commit überträgt die Änderungen ins Repository, ein Update fördert die Änderungen anderer Teammitglieder zutage. Ganz zu Beginn des Arbeitszyklus mit der Versionsverwaltung steht entweder ein Checkout, der alle Dateien aus einem Repository für die Bearbeitung in ein Arbeitsverzeichnis kopiert, oder ein Import, der bereits existierende Dateien unter die Kontrolle der Versionsverwaltung stellt.

Binärdateien

Dateien, die nicht aus durch Zeilenumbrüchen markierten Textzeilen bestehen. Das zeilenweise Übereinanderlegen synchroner Änderungen, das SVN und CVS bei Textdateien vornehmen, funktioniert bei ihnen nicht.

Infos

[1] CVS-Homepage:http://www.nongnu.org/cvs

[2] SVN-Homepage:http://subversion.tigris.org

[3] Kdesvn auf kde-apps.org: http://www.kde-apps.org/content/show.php?content=26589

[4] Diff-Ausgabe von SVN: http://svnbook.red-bean.com/nightly/en/svn.tour.cycle.html#svn.tour.cycle.examine.status

[5] Ksvn (Konqueror-Plugin): http://ksvn.sourceforge.net

[6] Esvn: http://esvn.umputun.com

[7] Qsvn: http://ar.oszine.de/projects/qsvn

[8] Jsvn-Homepage: http://jsvn.alternatecomputing.com/

[9] Subversive: http://www.polarion.org/p_subversive.php

[10] Subclipse-Plugin: http://subclipse.tigris.org/

[11] SVN über SSH tunneln: http://svnbook.red-bean.com/nightly/en/svn.serverconfig.svnserve.html#svn.serverconfig.svnserve.sshauth

[12] CVS-Einführung: Frank Budszuhn, "CVS", Galileo Press 2005, ISBN 3-89842-705-6

[13] Subversion-Einführung: Frank Budszuhn, "Subversion", Galileo Press 2005, ISBN 3-89842-603-3

[14] Linux-Handbuch: Plötner/Wendzel, "Linux", Galileo Press 2006, ISBN 3-89842-677-7

[15] Subversion-Buch online: http://svnbook.red-bean.com/nightly/en/index.html

[16] Grundlagen der Versionskontrolle: Oliver Frommel, "Änderungen festhalten", LinuxUser 05/2006, S. 60, http://www.linux-user.de/ausgabe/2006/05/060-versionskontrolle/

[17] RCS: Andreas Kneib, "Check In – Check Out", LinuxUser 05/2006, S. 62

Der Autor

Johannes Plötner und Steffen Wendzel haben bereits mehrere erfolgreiche Bücher über Linux/Unix und IT-Sicherheit geschrieben. Zu diesen Themen bieten Sie auch Seminare an.

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

  • Vorher und nachher
    Wer Textdateien, wie etwa Konfigurations-, Programmquellcode- oder Skriptdateien, regelmäßig überarbeitet, sollte eine Versionsverwaltung nutzen, um auch auf alte Versionen zurückgreifen zu können: Dann bleiben Fehler beim Überarbeiten folgenlos.
  • PHP-Programmierung mit Eclipse
    Das Plugin PHPEclipse bringt der Java-Entwicklungsumgebung Eclipse die Skriptsprache PHP bei, Subclipse sorgt für eine Einbindung von SVN. Heraus kommt eine komfortable Umgebung für die Entwicklung dynamischer Webseiten in PHP.
  • Mehrere Dokumentversionen verwalten
    Datensicherung bringt Ihnen verlorene Dateien zurück – aber nur in der letzten Version. Für Dateien, an denen Sie regelmäßig größere Umbauten vornehmen, ist darum auch eine Versionsverwaltung nützlich.
  • Nicht nur für Quelltexte: Versionsverwaltung mit Git
    Arbeiten mehrere Personen zusammen an Quelltexten oder Dokumenten, artet das schnell in Gewurstel aus. Hier schafft Git schnell Abhilfe: Die verteilte Versionsverwaltung sorgt mit minimalem Aufwand zuverlässig für die Integrität und Konsistenz der Daten.
  • Subversion für Anfänger
    Nicht nur Programmierer kennen das Problem: Sobald es mehrere Versionen einer Datei gibt, bricht Chaos aus. Subversion steuert dagegen.
Kommentare

Infos zur Publikation

LU 10/2017: Daten retten & sichern

Digitale Ausgabe: Preis € 8,50
(inkl. 19% MwSt.)

LinuxUser erscheint monatlich und kostet 5,95 Euro (mit DVD 8,50 Euro). Weitere Infos zum Heft finden Sie auf der Homepage.

Das Jahresabo kostet ab 86,70 Euro. Details dazu finden Sie im Computec-Shop. Im Probeabo erhalten Sie zudem drei Ausgaben zum reduzierten Preis.

Bei Google Play finden Sie digitale Ausgaben für Tablet & Smartphone.

HINWEIS ZU PAYPAL: Die Zahlung ist ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!

Stellenmarkt

Aktuelle Fragen

Lieber Linux oder Windows- Betriebssystem?
Sina Kaul, 13.10.2017 16:17, 2 Antworten
Hallo, bis jetzt hatte ich immer nur mit
IT-Kurse
Alice Trader, 26.09.2017 11:35, 2 Antworten
Hallo liebe Community, ich brauche Hilfe und bin sehr verzweifelt. Ih bin noch sehr neu in eure...
Backup mit KUP unter Suse 42.3
Horst Schwarz, 24.09.2017 13:16, 3 Antworten
Ich möchte auch wieder unter Suse 42.3 mit Kup meine Backup durchführen. Eine Installationsmöglic...
kein foto, etc. upload möglich, wo liegt mein fehler?
kerstin brums, 17.09.2017 22:08, 5 Antworten
moin, zum erstellen einer einfachen wordpress website kann ich keine fotos uploaden. vom rechne...
Arch Linux Netzwerkkonfigurationen
Franziska Schley, 15.09.2017 18:04, 0 Antworten
Moin liebe Linux community, ich habe momentan Probleme mit der Einstellung des Lan/Wlan in Arc...