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 12/2017: Perfekte Videos

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

Fernstudium Informatik
Joe Cole, 12.12.2017 10:36, 1 Antworten
Hallo! habe früher als ich 13 Jahre angefangen mit HTML und später Java zu programmieren. Weit...
Installation Linux mint auf stick
Reiner Schulz, 10.12.2017 17:34, 1 Antworten
Hallo, ich hab ein ISO-image mit Linux Mint auf einem Stick untergebracht Jetzt kann ich auch...
Canon Maxify 2750 oder ähnlicher Drucker
Hannes Richert, 05.12.2017 20:14, 4 Antworten
Hallo, leider hat Canon mich weiterverwiesen, weil sie Linux nicht supporten.. deshalb hier die...
Ubuntu Server
Steffen Seidler, 05.12.2017 12:10, 1 Antworten
Hallo! Hat jemand eine gute Anleitung für mich, wie ich Ubuntu Server einrichte? Habe bisher...
Tinte sparen bei neuem Drucker
Lars Schmitt, 30.11.2017 17:43, 2 Antworten
Hi Leute, ich habe mir Anfang diesen Monats einen Tintenstrahldrucker angeschafft, der auch su...