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 02/2018: PAKETE VERWALTEN

Digitale Ausgabe: Preis € 5,95
(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

Internet abschalten
Karl-Heinz Hauser, 20.02.2018 20:10, 0 Antworten
In der Symbolleiste kann man das Kabelnetzwerk ein und ausschalten. Wie sicher ist die Abschaltu...
JQuery-Script läuft nicht mit Linux-Browsern
Stefan Jahn, 16.02.2018 12:49, 2 Antworten
Hallo zusammen, ...folgender goldener Code (ein jQuery-Script als Ergebnis verschiedener Exper...
XSane-Fotokopie druckt nicht mehr
Wimpy *, 30.01.2018 13:29, 0 Antworten
openSuse 42.3 KDE 5.8.7 Seit einem Software-Update druckt XSane keine Fotokopie mehr aus. Fehler...
TOR-Browser stürzt wegen Wikipedia ab
Wimpy *, 27.01.2018 14:57, 0 Antworten
Tor-Browser 7.5 based on Mozilla Firefox 52.8.0 64-Bit. Bei Aufruf von http: oder https://de.wi...
Wifikarte verhindert Bootvorgang
Maik Kühn, 21.01.2018 22:23, 1 Antworten
iwlwifi-7265D -26 failed to load iwlwifi-7265D -25 failed to load iwlwifi-7265D -24 failed to l...